####################################################################### # ex-001-NLP.mod: NLP formulation of a small EPEC with two leaders # # leader i's problem is: # # minimize (x_i+1)^2 # subject to s = x_1 + x_2 + y # 0 <= s _|_ y >= 0 ####################################################################### set I := 1..2; # ... leader variables var x{I}; # ... follower variables var s >= 0; var y >= 0; # ... multipliers var lambda{I}; var sigma{I} >= 0; var nu{I} >= 0; var xi{I} >= 0; # ... dummy objective minimize penalty: sum{i in I}( s*sigma[i] + y*nu[i] + s*y ); subject to # ... first order conditions KKTx{i in I}: 2*(x[i]+1) + lambda[i] = 0; KKTy{i in I}: lambda[i] - nu[i] + xi[i]*s = 0; KKTs{i in I}: - lambda[i] - sigma[i] + xi[i]*y = 0; slack{i in I}: s = x[1] + x[2] + y;