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 |