Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- !@encoding CP1252
- model ModelName
- uses "mmxprs"; !gain access to the Xpress-Optimizer solver
- !sample declarations section
- declarations
- I = 1..7
- p:array(I) of integer
- m:array(I,I) of integer
- a:array(I,I) of integer
- u:array(I,I) of integer
- pre:array(I,I) of mpvar
- x:array(I) of mpvar
- FO:linctr
- end-declarations
- p::[10000,10000,10000,4000,4000,4000,4000]
- m::[0,0,0,1,0,0,1,
- 0,0,0,0,0,1,0,
- 0,0,0,1,0,0,0,
- 1,0,1,0,0,1,1,
- 0,0,0,0,0,1,1,
- 0,1,0,1,1,0,0,
- 1,0,0,1,1,0,0]
- a::[0,0,0,0,0,0,0,
- 0,0,0,1,1,0,0,
- 0,0,0,0,0,0,0,
- 0,1,0,0,1,0,0,
- 0,1,0,1,0,0,0,
- 0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0]
- u::[0,1,1,0,0,0,0,
- 0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0]
- FO:= sum(i in I)(p(i)*x(i)) + 0.1*(sum(i in I, j in I)(p(i)*pre(i,j)*a(i,j))) - 0.3*(sum(i in I, j in I)(p(i)*pre(i,j)*m(i,j)))
- forall(i in I) x(i) is_binary
- forall(i in I, j in I) pre(i,j) is_binary
- forall(i in I, j in I) x(j) <= (1-x(i)*u(i,j))
- forall(i in I, j in I) x(i) + x(j) - 1 <= pre(i,j)
- forall(i in I, j in I) x(i) + x(j) >= 2*pre(i,j)
- writeln("Begin running model")
- maximize(FO)
- writeln("End running model")
- writeln("Profitto massimo: ", getobjval)
- forall(i in I) writeln("x(i) = ",getsol(x(i)))
- end-model
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement