【线性规划LP建模实例——香水】
configExe
perfumes.mod
perfumes.mod
/*********************************************
* OPL 12.6.0.0 Model
* Perfumes
*********************************************/
//Make sure you use c[i] to access the i-th cost
//and do not remove/change the following line
float c[1..2] = [300, 500];
dvar float+ perfume1;
dvar float+ perfume2;
maximize c[1]*perfume1+c[2]*perfume2;
subject to {
perfume1*1+perfume2*0<=4; // Material A
perfume1*0+perfume2*2<=12; // Material B
perfume1*3+perfume2*2<=18; // Material C
}
/* Display */
execute {
writeln("Post-traitement: ");
writeln("La valeur de l'objectif est de "+cplex.getObjValue());
}
运行结果
Default LOCALE: en_US.UTF-8
IBM ILOG CPLEX Optimization Studio Community Edition. The CPLEX Optimizers will solve problems up to 1000 variables and 1000 constr
aints.
CP Optimizer (Community Edition) solves problems with a search space of up to 2^1000
<<< setup, at 0s, took 1.64574e+09s
<<< generate, at 0.01s, took 0.00521398s
Tried aggregator 1 time.
LP Presolve eliminated 2 rows and 0 columns.
Reduced LP has 1 rows, 2 columns, and 2 nonzeros.
Presolve time = 0.00 sec. (0.00 ticks)
Iteration log . . .
Iteration: 1 Dual objective = 3600.000000
<<< solve, at 0.01s, took 0.000514984s
OBJECTIVE: 3600
Post-traitement:
La valeur de l'objectif est de 3600
<<< post process, at 0.01s, took 0.000190973s
// solution (optimal) with objective 3600
// Quality There are no bound infeasibilities.
// There are no reduced-cost infeasibilities.
// Maximum Ax-b residual = 0
// Maximum c-B'pi residual = 0
// Maximum |x| = 6
// Maximum |slack| = 2
// Maximum |pi| = 150
// Maximum |red-cost| = 0
// Condition number of unscaled basis = 6.9e+00
//
perfume1 = 2;
perfume2 = 6;
<<< done, at 0.01s, took 0.000177145s