| Inputs: | a set of constraints c | ||||
|
| an initial point x | ||||
|
| a feasibility distance tolerance a | ||||
|
| a movement tolerance b | ||||
| 1 | NINF = 0, for all j: nj = 0, sj = 0 | ||||
| 2 | For every constraint ci | ||||
| 3 |
| If ci is violated | |||
| 4 |
|
| Calculate feasibility vector fv and the feasibility distance||fv|| | ||
| 5 |
|
| If ||fv|| > a | ||
| 6 |
|
|
| NINF = NINF + 1 | |
| 7 |
|
|
| For every variable xj in ci | |
| 8 |
|
|
|
| nj ¬ nj + 1, sj ¬ sj + fvij |
| 9 |
|
|
| End for | |
| 10 |
|
| End if | ||
| 11 |
| End if | |||
| 12 | End for | ||||
| 13 | If NINF = 0, then exist successfully | ||||
| 14 | For every variable xj | ||||
| 15 |
| tj = sj / nj | |||
| 16 | End for | ||||
| 17 | If ||t|| £ b then exit unsuccessfully | ||||
| 18 | x ¬ x + t | ||||
| 19 | If necessary, reset x to respect any violated variable bounds | ||||
| 20 | Go to step1 | ||||