model alocacaodepessoal
uses "mmxprs"
declarations
x1:
mpvar! número enfermeiros turno 1
x2:
mpvar! número enfermeiros turno 2
x3:
mpvar! número enfermeiros turno 3
x4:
mpvar! número enfermeiros turno 4
x5:
mpvar! número enfermeiros turno 5
x6:
mpvar! número enfermeiros turno 6
end-declarations
x1 is_integer
x2 is_integer
x3 is_integer
x4 is_integer
x5 is_integer
x6 is_integer
eq1:= x6 + x1 >=50
eq2:= x1 + x2 >=60
eq3:= x2 + x3 >=50
eq4:= x3 + x4 >=40
eq5:= x4 + x5 >=30
eq6:= x6 >=20
eq7:= x1 >=0!
eq8:= x2 >=0!
eq9:= x3 >=0!
eq10:= x4 >=0!
eq11:= x5 >=0!
eq12:= x6 >=0!
obj:=x1
+ x2 + x3 + 1.5*x4 + 2*x5 + x6 ! Função objeto
minimize(obj)
writeln("Número minimo de enfermeiros trabalhando
por dia é ", getobjval)! valor da função objetivo
!writeln("O valor de eq1 é", getsol (eq1))
!writeln("O valor de eq2 é", getsol (eq2))
!writeln("O valor de eq3 é", getsol (eq3))
!writeln("O valor de eq4 é", getsol (eq4))
!writeln("O valor de eq5 é", getsol (eq5))
!writeln("O valor de eq6 é", getsol (eq6))
end-model