In this example, the entire problem definition is first described in the following PROC OPTMODEL step and is then saved as a QPS data set in the subsequent PROC OPTLSO step. In this case, no FCMP function needs to be defined.
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 qpsdata = qpdata; performance nthreads=2; run;
Note that in this case the objective definition is taken directly from the QPS data set qpdata
. Output 3.3.1 shows the output from running these steps.
Output 3.3.1: Using QPS Format
Performance Information | |
---|---|
Execution Mode | Single-Machine |
Number of Threads | 2 |
Parallel Mode | Deterministic |
Problem Summary | |
---|---|
Problem Type | QP |
QPS Data Set | QPDATA |
Number of Variables | 13 |
Integer Variables | 0 |
Continuous Variables | 13 |
Number of Constraints | 9 |
Linear Constraints | 9 |
Nonlinear Constraints | 0 |
Objective Definition Source | QPDATA |
Objective Sense | Minimize |
Solution Summary | |
---|---|
Solution Status | Function convergence |
Objective | -15.0009821 |
Infeasibility | 0.0009821034 |
Iterations | 25 |
Evaluations | 2620 |
Cached Evaluations | 2757 |
Global Searches | 1 |
Population Size | 160 |
Seed | 1 |