batch
minco
Knitro
AMPL
short
= 0, <= log(k); # log of number of parallel units at stage j
var NPU {M} >= 0, <= k; # number of parallel units at stage j
var v {j in M} >= log(VL[j]), <= log(VU[j]); # log of volume at stage j
var b {i in N} >= bLO[i], <= bUP[i]; # log of batch size of batch i
var tL{i in N} >= tLO[i], <= tUP[i]; # log of cycle time of batch i
var y {KxM} binary; # models number of parallel units
minimize cost:
sum {j in M} ( alpha[j] * exp(npu[j] + beta[j]*v[j]) );
subject to
volm {i in N, j in M}: v[j] >= log(S[i,j]) + b[i];
ctim {i in N, j in M}: npu[j] + tL[i] >= log(t[i,j]);
horizon: sum {i in N} ( Q[i]*exp(tL[i] - b[i]) ) <= H;
npar {j in M}: npu[j] = sum {l in K} ( log(l) * y[l,j] );
SOS1 {j in M}: sum {l in K} ( y[l,j] ) = 1;
data;
param: NxM: S, t :=
1 1 7.9 6.4
2 1 0.7 6.8
3 1 0.7 1.0
4 1 4.7 3.2
5 1 1.2 2.1
1 2 2.0 4.7
2 2 0.8 6.4
3 2 2.6 6.3
4 2 2.3 3.0
5 2 3.6 2.5
1 3 5.2 8.3
2 3 0.9 6.5
3 3 1.6 5.4
4 3 1.6 3.5
5 3 2.4 4.2
1 4 4.9 3.9
2 4 3.4 4.4
3 4 3.6 11.9
4 4 2.7 3.3
5 4 4.5 3.6
1 5 6.1 2.1
2 5 2.1 2.3
3 5 3.2 5.7
4 5 1.2 2.8
5 5 1.6 3.7
1 6 4.2 1.2
2 6 2.5 3.2
3 6 2.9 6.2
4 6 2.5 3.4
5 6 2.1 2.2;
param: Q :=
1 250000.0
2 150000.0
3 180000.0
4 160000.0
5 120000.0;
param: tLO :=
1 0.729961
2 0.530628
3 1.09024
4 -0.133531
5 0.0487901 ;
param: tUP :=
1 2.11626
2 1.91626
3 2.47654
4 1.25276
5 1.43508;
param: bLO :=
1 4.45966
2 3.74950
3 4.49144
4 3.14988
5 3.04452;
param: bUP :=
1 397.747
2 882.353
3 833.333
4 638.298
5 666.667;
]]>
solve;
display _varname, _var;
# batch.mod OOR2-AN-46-73
# AMPL coding: S. Leyffer, January 1999.
#
# Source: Source: Optimal Design of Multiproduct Batch Plant
# G.R. Kocis, I.E. Grossmann, "Global Optimization
# of Nonconvex Mixed Integer Nonlinear Programmming
# (MINLP) problems in Process Synthesis", Indust. Engng. Chem. Res.,
# No. 27, pp 1407--1421, 1988.
#
# Number of variables: 46 (24 binary variables)
# Number of constraints: 73
# Objective nonlinear
# Nonlinear constraints