Pleasant greetings.
I am working on a mixed-integer linear programing model with
disjunctions and trying to solve it using GAMS/LOGMIP on refinery
optimization problem. However, I could not overcome the problem posed
by the error message “logmip can not handle universe as domain”. I
would greatly appreciate if you could assist me.
Here I provide the codes on LOGMIP part.
Thank you very much indeed for your time and effort!
INOUT1_1… 0.2088f(‘3’) =e= f(‘38’);
INOUT1_2… 0.0555f(‘3’) =e= f(‘32’);
INOUT1_3… 0.1533*f(‘3’) =e= f(‘21’);
INOUT1_4… f(‘38’) =e= 0;
INOUT1_5… f(‘32’) =e= 0;
INOUT1_6… f(‘21’) =e= 0;
INOUT1_7… f(‘3’) =e= 0;
COST1_1… c(‘A’) =e= 228;
INOUT2_1… 0.0109*(f(‘22’)+f(‘13’)) =e= f(‘6’);
INOUT2_2… 0.0012*(f(‘22’)+f(‘13’)) =e= f(‘15’);
INOUT2_3… 0.0058*(f(‘22’)+f(‘13’)) =e= f(‘27’);
INOUT2_4… 0.2610*(f(‘22’)+f(‘13’)) =e= f(‘33’);
INOUT2_5… 0.7211*(f(‘22’)+f(‘13’)) =e= f(‘23’);
INOUT2_6… 0.9821*(f(‘22’)+f(‘13’)) =e= f(‘41’);
INOUT2_7… f(‘6’) =e= 0;
INOUT2_8… f(‘15’) =e= 0;
INOUT2_9… f(‘27’) =e= 0;
INOUT2_10… f(‘33’) =e= 0;
INOUT2_11… f(‘23’) =e= 0;
INOUT2_12… f(‘41’) =e= 0;
INOUT2_13… f(‘22’) =e= 0;
INOUT2_14… f(‘13’) =e= 0;
COST2_1… c(‘G’) =e= 96;
INOUT3_1… 0.0109*(f(‘39’)+f(‘14’)) =e= f(‘7’);
INOUT3_2… 0.0012*(f(‘39’)+f(‘14’)) =e= f(‘16’);
INOUT3_3… 0.0058*(f(‘39’)+f(‘14’)) =e= f(‘29’);
INOUT3_4… 0.2610*(f(‘39’)+f(‘14’)) =e= f(‘34’);
INOUT3_5… 0.7211*(f(‘39’)+f(‘14’)) =e= f(‘24’);
INOUT3_6… 0.9821*(f(‘39’)+f(‘14’)) =e= f(‘40’);
INOUT3_7… f(‘7’) =e= 0;
INOUT3_8… f(‘16’) =e= 0;
INOUT3_9… f(‘29’) =e= 0;
INOUT3_10… f(‘34’) =e= 0;
INOUT3_11… f(‘24’) =e= 0;
INOUT3_12… f(‘40’) =e= 0;
INOUT3_13… f(‘39’) =e= 0;
INOUT3_14… f(‘14’) =e= 0;
COST3_1… c(‘H’) =e= 96;
$ONECHO > “%lm.info%”
Disjunction DA,DG,DH;
DA is if Y(‘A’) then
INOUT1_1;
INOUT1_2;
INOUT1_3;
COST1_1;
else
INOUT1_4;
INOUT1_5;
INOUT1_6;
INOUT1_7;
endif;
DG is if Y(‘G’) then
INOUT2_1;
INOUT2_2;
INOUT2_3;
INOUT2_4;
INOUT2_5;
INOUT2_6;
COST2_1;
else
INOUT2_7;
INOUT2_8;
INOUT2_9;
INOUT2_10;
INOUT2_11;
INOUT2_12;
INOUT2_13;
INOUT2_14;
endif;
DH is if Y(‘H’) then
INOUT3_1;
INOUT3_2;
INOUT3_3;
INOUT3_4;
INOUT3_5;
INOUT3_6;
COST3_1;
else
INOUT3_7;
INOUT3_8;
INOUT3_9;
INOUT3_10;
INOUT3_11;
INOUT3_12;
INOUT3_13;
INOUT3_14;
endif;
ATMOST(Y(‘G’),Y(‘H’));
Y(‘A’) Y(‘G’) or Y(‘H’);
Z(‘3’) → Y(‘A’);
Y(‘A’) → Z(‘3’);
Y(‘A’) → Z(‘32’) or Z(‘21’) or Z(‘38’);
Z(‘32’) → Y(‘A’);
Z(‘21’) → Y(‘A’);
Z(‘38’) → Y(‘A’);
$OFFECHO
–~–~---------~–~----~------------~-------~–~----~
To post to this group, send email to gamsworld@googlegroups.com
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en
-~----------~----~----~----~------~----~------~–~—
\