E-1013 Infeasible constraint

241 views
Skip to first unread message

Sebastian

unread,
May 26, 2009, 1:39:55 PM5/26/09
to Xpress-MP, sfon...@gmail.com
I'm getting the error E-1013 Infeasible constraint in my model with
code on line 78: "sum(l in T)M(i,l,1)*l+sum(j in E,l in T)P(i,j,l,1)
*l>=Es(i)" How can I solve this?

This is the code for my model=

model Carpool
uses "mmxprs"; !gain access to the Xpress-Optimizer solver

!optional parameters section
parameters
inputFile="info.txt"
outputFile="resultados.txt"
end-parameters

!sample declarations section
declarations

!conjuntos
V:set of real !conjunto de viajes, indexado con k. 0 es ida 1 es
vuelta.
E:set of string !conjunto de estudiantes, indexado con i y j.
T:set of real !conjunto de horas, indexado con l. Debe ser entre 7 y
20.

!Parametros
R:array (E) of real !Parametro binario que es 1 si el vehiculo del
estudiante i no tiene pico y placa, es 0 d.l.c.
Ee:array (E) of real !Hora a la que debe entrar el estudiante i
Es:array (E) of real !Hora a la que debe salir el estudiante i
C:real !Capacidad maxima de los carros

!Variables de decision
P:array (E,E,T,V) of mpvar !Variable binaria que es 1 si el estudiante
j es pasajera del estudiante i que maneja a la hora l en el viaje k,
es 0 d.l.c.
M:array (E,T,V) of mpvar !Variable binaria que es 1 si el estudiante i
maneja a la hora l en el viaje k, es 0 d.l.c.
Tee:array (E) of mpvar !Tiempo de espera, en horas, del estudiante i
en el dia j al llegar a la universidad
Tes:array (E) of mpvar !Tiempo de espera, en horas, del estudiante i
en el dia j para salir de la universidad

end-declarations

!inicializaciones
initializations from inputFile
R Ee Es C
end-initializations

forall(i in E,j in E,k in V,l in T) do
create(P(j,i,l,k))
end-do

forall(i in E,k in V,l in T)do
create(M(i,l,k))
end-do

forall(i in E)do
create(Tee(i))
create(Tes(i))
end-do

!Restricciones

!Restriccion de viajes
forall(i in E,k in V)do
sum(l in T)M(i,l,k)+sum(j in E,l in T)P(i,j,l,k)=1
end-do

!Restriccion de pasajeros
forall(i in E,j in E,l in T,k in V)do
P(j,i,l,k)<=M(i,l,k)
end-do

!Restriccion pico y placa
forall(i in E, l in T, k in V)do
M(i,l,k)<=R(i)
end-do

!Restriccion manejar ida y vuelta
forall(i in E)do
sum(l in T)M(i,l,0)=sum(l in T)M(i,l,1)
end-do

!Restriccion de horarios de clase
forall(i in E)do
sum(l in T)M(i,l,0)*l+sum(j in E,l in T)P(i,j,l,0)*l<=Ee(i)
end-do

forall(i in E)do
sum(l in T)M(i,l,1)*l+sum(j in E,l in T)P(i,j,l,1)*l>=Es(i)
end-do

!Variables auxiliares

!Tiempo espera entrada
forall(i in E)do
Tee(i)=Ee(i)-sum(l in T)M(i,l,0)*l-sum(j in E,l in T)P(i,j,l,0)*l
end-do

!Tiempo espera salida
forall(i in E)do
Tes(i)=sum(l in T)M(i,l,1)*l+sum(j in E,l in T)P(i,j,l,1)*l-Es(i)
end-do

!Establecer tipo de variables
forall(i in E,j in E,k in V,l in T) P(j,i,l,k) is_binary
forall(i in E,k in V,l in T) M(i,l,k) is_binary

!Funcion Objetivo
z:=sum(i in E)(Tee(i)+Tes(i))

minimize(z)

!Escribir los resultados
fopen(outputFile,F_OUTPUT)
writeln("Carpooling")
writeln("Archivo de entrada: ",inputFile)
writeln("Archivo de salida: ",outputFile, "\n")
writeln("El tiempo de espera total es: ",getobjval, "\n")
writeln("Hacia la universidad", "\n")
forall(i in E,l in T)do
if getsol(M(i,l,0))=1 then
writeln("A las ",l," en el carro de ",i," salen :")
forall(j in E)do
if getsol(P(j,i,l,0))=1 then
writeln(j)
end-if
end-do
writeln(" ")
end-if
end-do
writeln("Desde la universidad", "\n")
forall(i in E,l in T)do
if getsol(M(i,l,1))=1 then
writeln("A las ",l," en el carro de ",i," salen :")
forall(j in E)do
if getsol(P(j,i,l,1))=1 then
writeln(j)
end-if
end-do
writeln(" ")
end-if
end-do
fclose(F_OUTPUT)

end-model

Reply all
Reply to author
Forward
0 new messages