# ex001-SUM1.mod # Original AMPL coding by Sven Leyffer, Argonne National Laboratory # # MPEC formulation of MOOP ex001.mod # Convex combination SUM with one multiplier fixed at 1 # # A simple multi-objective optimization problem due to # I. Das and J.E. Dennis, "A closer look at drawbacks of # minimizing weighted sums of objectives for Pareto set # generation in multicriteria optimization problems", # Dept. of CAAM Tech. Report, TR-96-36, Rice University, 1996. # ... sets & parameters param nK, # ... number of efficient points integer, >= 0, default 10; set I := 1..5; # ... dimension of the problem set J := 1..2; # ... number of objectives set K := 1..nK; # ... index to efficient points set KxK within K cross K; # ... pairs for cross distances # ... variables var eta >= 0; # ... minimum distance var x{I,K}; # ... original decision variables var l{1..3,K}; # ... multipliers var w{K} >= 0; # ... multi-objective weights var f{j in J,k in K} # ... objective values (defined variable) = if (j==1) then sum{i in I}( x[i,k]^2 ) else 3*x[1,k] + 2*x[2,k] - x[3,k]/3 + 0.01*(x[4,k]-x[5,k])^3; maximize min_dist: eta; subject to # ... definition of eta (all cross distances in objective space) ubd_eta { (k1,k2) in KxK}: eta <= sum{j in J} (f[j,k1] - f[j,k2])^2 ; # ... constraints (primal feasibility) & complementary slackness c1 {k in K}: x[1,k] + 2*x[2,k] - x[3,k] - 0.5*x[4,k] + x[5,k] = 2 complements l[1,k]; c2 {k in K}: 4*x[1,k] - 2*x[2,k] + 0.8*x[3,k] + 0.6*x[4,k] + 0.5*x[5,k]^2 = 0 complements l[2,k]; c3 {k in K}: 10 >= sum{i in I}(x[i,k]^2) complements l[3,k] >= 0; # ... KKT conditions KKT_x1 {k in K}: 0 = 2*x[1,k] + w[k]*3 - l[1,k] - 4*l[2,k] + 2*x[1,k]*l[3,k] complements x[1,k]; KKT_x2 {k in K}: 0 = 2*x[2,k] + w[k]*2 - 2*l[1,k] + 2*l[2,k] + 2*x[2,k]*l[3,k] complements x[2,k]; KKT_x3 {k in K}: 0 = 2*x[3,k] - w[k]/3 + l[1,k] - 0.8*l[2,k] + 2*x[3,k]*l[3,k] complements x[3,k]; KKT_x4 {k in K}: 0 = 2*x[4,k] + w[k]*0.01*3*(x[4,k]-x[5,k])^2 + 0.5*l[1,k] - 0.6*l[2,k] + 2*x[4,k]*l[3,k] complements x[4,k]; KKT_x5 {k in K}: 0 = 2*x[5,k] - w[k]*0.01*3*(x[4,k]-x[5,k])^2 - l[1,k] - x[5,k]*l[2,k] + 2*x[5,k]*l[3,k] complements x[5,k]; data; # ... definition of cross distance indices let KxK := { }; for {k1 in {2..nK}}{ let {k2 in {1..k1-1}} KxK := KxK union { (k1,k2) }; }; #display KxK; # ... generate uniform distribution of weights let {k in K} w[k] := (2*k-1)/2/nK; #display w; # ... NCP model problem NCP: x, l, # variables c1, c2, c3, # constraints KKT_x1, KKT_x2, KKT_x3, KKT_x4, KKT_x5; # ... MPCC model problem MPCC: min_dist, # objective eta, x, l, w, f, # variables c1, c2, c3, # constraints KKT_x1, KKT_x2, KKT_x3, KKT_x4, KKT_x5, ubd_eta;