Using QPS Format (lsoe03)
/**********************************************************************/
/* */
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: lsoe03 */
/* TITLE: Using QPS Format (lsoe03) */
/* PRODUCT: OR */
/* SYSTEM: ALL */
/* KEYS: OR */
/* PROCS: OPTLSO, OPTMODEL */
/* DATA: */
/* */
/* SUPPORT: UPDATE: */
/* REF: */
/* MISC: Example 3 from the OPTLSO chapter of the */
/* Local Search Optimization book. */
/* */
/**********************************************************************/
proc optmodel;
var x{1..13} >= 0 <= 1;
for {i in 10..12} x[i].ub = 100;
min z = 5*sum{i in 1..4} x[i]
- 5*sum{i in 1..4} x[i]**2 - sum{i in 5..13} x[i];
con a1: 2*x[1] + 2*x[2] + x[10] + x[11] <= 10;
con a2: 2*x[1] + 2*x[3] + x[10] + x[12] <= 10;
con a3: 2*x[1] + 2*x[3] + x[11] + x[12] <= 10;
con a4: -8*x[1] + x[10] <= 0;
con a5: -8*x[2] + x[11] <= 0;
con a6: -8*x[3] + x[12] <= 0;
con a7: -2*x[4] - x[5] + x[10] <= 0;
con a8: -2*x[6] - x[7] + x[11] <= 0;
con a9: -2*x[8] - x[9] + x[12] <= 0;
save qps qpdata;
quit;
proc optlso
primalout = solution
qpsdata = qpdata;
performance nthreads=2;
run;
proc print data=solution;
run;