Can any of you guys help me? I’m trying to use a table as a constraint.
Equation
PED_MIN(g)… SUM( (i), X(i,g) ) =G= pedidos_min(i,g)
It says ‘i’ is not controlled, but I can’t figure it out how to control it after =G=
SETS
i produtos / prod1, prod2, prod3, prod4, prod5, prod6, prod7, prod8, prod9, prod10 /
j recursos / operacao, acabamento /
g lojas / cuiaba, campo_grande, sinop, dourados /
;
PARAMETERS
peso_un(i) peso unitario dos produtos
/
prod1 0.19
prod2 0.22
prod3 1.6
prod4 0.6
prod5 0.8
prod6 0.5
prod7 2.1
prod8 1.1
prod9 0.35
prod10 0.42
/
cap_loja(g) capacidade de cada loja
/
cuiaba 4500
campo_grande 4500
sinop 2500
dourados 2500
/
TABLE lucro_loja(i,g) lucro unitario dos produtos por loja
cuiaba campo_grande sinop dourados
prod1 9.67 10.17 11.27 10.95
prod2 18.67 19.07 21.17 20.67
prod3 55.67 56.67 61.87 60.63
prod4 20.67 21.47 23.37 22.83
prod5 16.67 17.27 18.97 18.51
prod6 21.67 22.47 24.47 23.91
prod7 88.67 91.67 98.17 96.27
prod8 35.67 36.67 39.87 39.03
prod9 8.67 9.17 10.17 9.87
prod10 12.67 13.47 14.57 14.19
;
TABLE operacao_produto(i, j) Qtde de tempo utilizado em cada um dos produtos
operacao acabamento
prod1 1.5 1
prod2 2.5 2
prod3 3.2 3.2
prod4 1.1 4
prod5 2.1 1
prod6 1.9 0.8
prod7 4.1 1.6
prod8 2.3 1.2
prod9 0.6 2.2
prod10 1.3 0.6
;
TABLE pedidos_min(i,g) Pedidos minimos por localidade
cuiaba campo_grande sinop dourados
prod1 18 36 22 17
prod2 32 18 3 20
prod3 5 23 22 36
prod4 58 0 41 3
prod5 40 29 60 7
prod6 0 42 52 69
prod7 51 20 64 63
prod8 52 26 11 63
prod9 18 25 36 19
prod10 35 25 69 59
;
VARIABLES
X(i,g) Define as variáveis de decisão do problema
Z Define o resultado da função objetivo
POSITIVE VARIABLE X
;
-
Restrições do problema
EQUATIONS -
Declaração
FO_LUCRO Define o valor máximo de lucro
REST_OP(j) Define o tempo utilizado em operacao
REST_ACAB(j) Define o tempo utilizado em acabamento
MAX_PESO(g) Define o peso total dos itens
PED_MIN(g) Define o pedido minimo por localidade
; -
Definição/Programação
FO_LUCRO… Z =E= SUM( (i,g), lucro_loja(i,g) * X(i,g) );
REST_OP(‘OPERACAO’)… SUM( (i,g), operacao_produto(i, ‘OPERACAO’) * X(i,g) ) =L= 28800;
REST_ACAB(‘ACABAMENTO’)… SUM( (i,g), operacao_produto(i, ‘ACABAMENTO’) * X(i,g) ) =L= 14400;
MAX_PESO(g)… SUM( (i), peso_un(i) * X(i,g) ) =L= cap_loja(g);
PED_MIN(g)… SUM( (i), X(i,g) ) =G= pedidos_min(i,g);
MODEL PLASTICO /ALL/;
SOLVE PLASTICO MAXIMIZING Z USING LP;
DISPLAY Z.L, X.L, REST_OP.L, REST_ACAB.L;