Neelesh
unread,Nov 14, 2008, 7:24:45 PM11/14/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Xpress-MP
Hi,
I am new to Xpress, I have a model which is giving me an infeasible
solution. Therefore, I tried introducing a supplemental variable (x1)
so as to satisfy the constraints. But now the model is giving me a
compilation error. I have been trying to resolve this problem for 2
days. I guess I am doing something wrong while coding it. I will
highly appreciate if someone can help me resolve this problem. I am
attaching my code below for reference.
Thanks in advance.
Regards,
Neelesh
model Collin
uses "mmxprs"; !gain access to the Xpress-Optimizer solver
declarations
CPACKAGE = 1..44 !Array of control cost
x1: mpvar ! Supplemental control as a variable
COST: array(CPACKAGE) of real
u: array(CPACKAGE) of mpvar ! Control strategy "u"
end-declarations
COST ::
[35045,7500,582691,95097,8711,1714,137883,13300,170761,839662,257407,2320,4158,4158,55096,165992,93724,4196,4809,170761,834965,227706,2258,4158,4048,51914,13000,22000,990,2644,6500,13200,1390,4800,15000,425,1355,3920,4195,3370,16400,6000,4100,1000000]
MinCost:= sum(i in CPACKAGE) COST(i)*u(i) ! Objective function
55.05 - 0.66*(sum(i in CPACKAGE) u(40)) - 0.017*(sum(i in CPACKAGE) u
(39)) - 0.121*(sum(i in CPACKAGE) u(41)) <= 68.09 - 0.48
62.13 - 1.174*(sum(i in CPACKAGE) u(42)) <= 74.09 - 0.78
52.29 - 0.70*(sum(i in CPACKAGE) u(40)) - 0.013*(sum(i in CPACKAGE) u
(39)) - 0.129*(sum(i in CPACKAGE) u(41)) <= 74.09 - 1.59
44.75 - 0.69*(sum(i in CPACKAGE) u(40)) - 0.01*(sum(i in CPACKAGE) u
(39)) - 0.128*(sum(i in CPACKAGE) u(41)) - 1.588*(sum(i in CPACKAGE) u
(42)) <= 84.91 - 1.43
66.98 - 0.29*(sum(i in CPACKAGE) u(37)) - 0.049*(sum(i in CPACKAGE) u
(38)) <= 71.10 - 4.27
76.43 - 0.013*(sum(i in CPACKAGE) u(15)) - 0.318*(sum(i in CPACKAGE) u
(16)) - 0.091*(sum(i in CPACKAGE) u(17)) - 0.628*(sum(i in CPACKAGE) u
(18)) - 0.969*(sum(i in CPACKAGE) u(19))- 0.022*(sum(i in CPACKAGE) u
(20)) - 0.227*(sum(i in CPACKAGE) u(21)) - 0.008*(sum(i in CPACKAGE) u
(22)) - 0.034*(sum(i in CPACKAGE) u(23)) - 0.006*(sum(i in CPACKAGE) u
(24)) - 0.121*(sum(i in CPACKAGE) u(25)) <= 71.07 - 6.25
70.02 - 0.246*(sum(i in CPACKAGE) u(38)) - 0.040*(sum(i in CPACKAGE) u
(37)) - 0.014*(sum(i in CPACKAGE) u(15)) - 0.351*(sum(i in CPACKAGE) u
(16)) - 0.1*(sum(i in CPACKAGE) u(17)) - 0.694*(sum(i in CPACKAGE) u
(18)) - 1.070*(sum(i in CPACKAGE) u(19))- 0.024*(sum(i in CPACKAGE) u
(20)) - 0.251*(sum(i in CPACKAGE) u(21)) - 0.009*(sum(i in CPACKAGE) u
(22)) - 0.038*(sum(i in CPACKAGE) u(23)) - 0.007*(sum(i in CPACKAGE) u
(24)) - 0.134*(sum(i in CPACKAGE) u(25)) <= 71.07 - 5.17
70.32 - 0.03*(sum(i in CPACKAGE) u(38)) - 0.038*(sum(i in CPACKAGE) u
(37)) - 4.928*(sum(i in CPACKAGE) u(43)) - 0.015*(sum(i in CPACKAGE) u
(15)) - 0.379*(sum(i in CPACKAGE) u(16)) - 0.108*(sum(i in CPACKAGE) u
(17)) - 0.784*(sum(i in CPACKAGE) u(18)) - 1.154*(sum(i in CPACKAGE) u
(19))- 0.026*(sum(i in CPACKAGE) u(20)) - 0.271*(sum(i in CPACKAGE) u
(21)) - 0.01*(sum(i in CPACKAGE) u(22)) - 0.041*(sum(i in CPACKAGE) u
(23)) - 0.007*(sum(i in CPACKAGE) u(24)) - 0.144*(sum(i in CPACKAGE) u
(25)) <= 71.07 - 1.20
244.17 - 0.018*(sum(i in CPACKAGE) u(15)) - 0.446*(sum(i in CPACKAGE)
u(16)) - 0.127*(sum(i in CPACKAGE) u(17)) - 0.881*(sum(i in CPACKAGE) u
(18)) - 1.359*(sum(i in CPACKAGE) u(19))- 0.031*(sum(i in CPACKAGE) u
(20)) - 0.319*(sum(i in CPACKAGE) u(21)) - 0.012*(sum(i in CPACKAGE) u
(22)) - 0.048*(sum(i in CPACKAGE) u(23)) - 0.008*(sum(i in CPACKAGE) u
(24)) - 0.17*(sum(i in CPACKAGE) u(25)) - (x1*(sum(i in CPACKAGE) u
(44)) + 0.015*(sum(i in CPACKAGE) u(15)) + 0.378*(sum(i in CPACKAGE) u
(16)) + 0.108*(sum(i in CPACKAGE) u(17)) + 0.747*(sum(i in CPACKAGE) u
(18)) + 1.152*(sum(i in CPACKAGE) u(19))+ 0.026*(sum(i in CPACKAGE) u
(20)) + 0.27*(sum(i in CPACKAGE) u(21)) + 0.01*(sum(i in CPACKAGE) u
(22)) + 0.041*(sum(i in CPACKAGE) u(23)) + 0.007*(sum(i in CPACKAGE) u
(24)) + 0.144*(sum(i in CPACKAGE) u(25))) <= 76.22 - 7.04
75.88 - 1.489*(sum(i in CPACKAGE) u(38)) - 0.041*(sum(i in CPACKAGE) u
(37)) - 2.37*(sum(i in CPACKAGE) u(43)) - 0.016*(sum(i in CPACKAGE) u
(15)) - 0.391*(sum(i in CPACKAGE) u(16)) - 0.112*(sum(i in CPACKAGE) u
(17)) - 0.772*(sum(i in CPACKAGE) u(18)) - 1.191*(sum(i in CPACKAGE) u
(19))- 0.027*(sum(i in CPACKAGE) u(20)) - 0.279*(sum(i in CPACKAGE) u
(21)) - 0.01*(sum(i in CPACKAGE) u(22)) - 0.042*(sum(i in CPACKAGE) u
(23)) - 0.007*(sum(i in CPACKAGE) u(24)) - 0.149*(sum(i in CPACKAGE) u
(25)) <= 76.22 - 3.37
66.00 - 8.323*(sum(i in CPACKAGE) u(43)) - 2.602*(sum(i in CPACKAGE) u
(42)) <= 76.22 - 1.16
!Supplemental Control X1 Contraints
(x1 + 0.015*(sum(i in CPACKAGE) u(15)) + 0.378*(sum(i in CPACKAGE) u
(16)) + 0.108*(sum(i in CPACKAGE) u(17)) + 0.747*(sum(i in CPACKAGE) u
(18)) + 1.152*(sum(i in CPACKAGE) u(19))+ 0.026*(sum(i in CPACKAGE) u
(20)) + 0.27*(sum(i in CPACKAGE) u(21)) + 0.01*(sum(i in CPACKAGE) u
(22)) + 0.041*(sum(i in CPACKAGE) u(23)) + 0.007*(sum(i in CPACKAGE) u
(24)) + 0.144*(sum(i in CPACKAGE) u(25))) >= 0
(x1 + 0.015*(sum(i in CPACKAGE) u(15)) + 0.378*(sum(i in CPACKAGE) u
(16)) + 0.108*(sum(i in CPACKAGE) u(17)) + 0.747*(sum(i in CPACKAGE) u
(18)) + 1.152*(sum(i in CPACKAGE) u(19))+ 0.026*(sum(i in CPACKAGE) u
(20)) + 0.27*(sum(i in CPACKAGE) u(21)) + 0.01*(sum(i in CPACKAGE) u
(22)) + 0.041*(sum(i in CPACKAGE) u(23)) + 0.007*(sum(i in CPACKAGE) u
(24)) + 0.144*(sum(i in CPACKAGE) u(25))) <= 7.992
forall(i in CPACKAGE) u(i) is_binary
minimize(MinCost) !Objective function
!Print out the solution
writeln("Additional Reduction ", getsol(x1), " tons")
writeln("Solution:\n Total Cost: ", getobjval)
forall(i in CPACKAGE) writeln(" u(", i, "): ", getsol(u(i)))
end-model