|
» Agprice
Constraint » Curve » Decent » Distrib » Economy » Efficient » Factory » Farm » Food » Hydro » Logic » Manpower » Market » Milk » Mining » OandX » Opencast » Refinery » Tariff » TSP » Yield
| |
Model
Constraint
|
|
|
MODEL Constraint
|
|
SET |
|
|
terms={1..8},
|
! variables in constraint |
|
|
ceils={1..6},
|
|
|
roofs={1..6};
|
|
DATA |
|
|
ceiling[ceils,terms] << "ceiling.dat",
|
|
|
roofing[roofs,terms] << "roofing.dat";
|
|
VARIABLES |
|
|
a[terms],
|
! new coefficients |
|
|
b,
|
! new right-hand-side |
|
OBJECTIVE |
|
|
MINIMISE rhs=b-a[3]-a[5];
|
! minimise new right-hand-side |
|
|
! MINIMISE s=sum{j in terms} a[j]j;
|
! minimise sum of new coefficients |
|
CONSTRAINTS |
|
|
cei{i in ceils} : sum{j in terms,ceiling[i,j]>0} a[ceiling[i,j]]
<= b,
|
|
|
roo{k in roofs} : sum{j in terms,roofing[k,j]>0} a[roofing[k,j]]
>= b+1,
|
|
|
ord{j in terms,j<terms} : a[j]-a[j+1] >= 0;
|
|
END MODEL
|
|
|
solve Constraint;
|
|
|
print solution for Constraint >> "Constraint.sol";
|
|
|
quit;
|
|
|
|
ceiling.dat |
|
|
[1, 2, 3, 0, 0, 0, 0, 0, |
|
|
|
1, 2, 4, 8, 0, 0, 0, 0, |
|
|
|
1, 2, 6, 7, 0, 0, 0, 0, |
|
|
|
1, 3, 5, 6, 0, 0, 0, 0, |
|
|
|
2, 3, 4, 6, 0, 0, 0, 0, |
|
|
|
2, 5, 6, 7, 8 0, 0, 0 ] |
|
|
|
|
roofing.dat |
|
|
[1, 2, 3, 8, 0, 0, 0, 0, |
|
|
|
1, 2, 5, 7, 0, 0, 0, 0, |
|
|
|
1, 3, 4, 7, 0, 0, 0, 0, |
|
|
|
1, 5, 6, 7, 8, 0, 0, 0, |
|
|
|
2, 3, 4, 5, 0, 0, 0, 0, |
|
|
|
3, 4, 6, 7, 8, 0, 0, 0 ] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|