Skip to content

Commit 5c5949f

Browse files
committed
.
1 parent b7bf205 commit 5c5949f

8 files changed

+207
-403
lines changed

problema_camisetas.zip

905 KB
Binary file not shown.
671 KB
Binary file not shown.

problema_camisetas/Relatorio.pdf

457 KB
Binary file not shown.

problema_camisetas/camisetasParte2.dat

+5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ param custoArm := 0.20;
88
param capacidadeNormal := 25000;
99
param capacidadeExtra := 10000;
1010

11+
param inicioSemanasFinais := 3;
12+
param fimSemanasFinais := 4;
13+
14+
param fimSemanasIniciais := 2;
15+
1116
set S := 1 2 3 4;
1217
set TIMES := TimeA TimeB TimeC TimeD;
1318
set SExtra := 1 2;

problema_camisetas/camisetasParte2.mod

+28-13
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ param custoArm;
55
param capacidadeNormal;
66
param capacidadeExtra;
77

8+
param inicioSemanasFinais;
9+
param fimSemanasFinais;
10+
param fimSemanasIniciais;
11+
812
set S;
913
set TIMES;
1014
set SExtra;
@@ -15,29 +19,40 @@ param demanda{T in TIMES, i in S};
1519
var x{T in TIMES, i in S} >= 0; # quantidade de camisetas produzidas do time T na semana i
1620
var y{T in TIMES, i in SExtra} >= 0; # quantidade de camisetas produzidas extra do time T na semana i
1721
var v{T in TIMES, i in S} >= 0; # quantidade de camisetas vendidas do time T na semana i
22+
var estoque{T in TIMES, i in S} >= 0; # quantidade de camisetas em estoque do time T na semana i
23+
var excedente{T in TIMES, i in S} >= 0;
1824

1925
# maximizar lucro
2026
maximize Lucro:
21-
sum{T in TIMES, i in S} (preco[T,i] * v[T,i] - custoNorm * x[T,i])
22-
+ sum{T in TIMES, i in SExtra} (preco[T,i] * v[T,i] - custoExtra * y[T,i])
23-
- sum{T in TIMES, i in 3..4} (custoDuasUltimas * x[T,i])
24-
- sum{T in TIMES, i in S} (custoArm * (x[T,i] + (if i <= 2 then y[T,i] else 0) - v[T,i]));
27+
sum{T in TIMES, i in S} (preco[T,i] * v[T,i] - custoNorm * x[T,i]) # preço liquido das camisetas sem1 e sem2
28+
+ sum{T in TIMES, i in SExtra} (preco[T,i] * v[T,i] - custoExtra * y[T,i]) # preço liquido das camisetas prodE
29+
- sum{T in TIMES, i in inicioSemanasFinais..fimSemanasFinais} (custoDuasUltimas * x[T,i]) # custo fabricao semanas 3 e 4
30+
- sum{T in TIMES, i in S} (custoArm * estoque[T,i]); # custo total de armazenamento
31+
32+
33+
# Atualização do estoque
34+
subj to atualiza_estoque{T in TIMES, i in S}:
35+
estoque[T,i] = (if i == 1 then 0 else estoque[T,i-1]) + x[T,i] + (if i <= fimSemanasIniciais then y[T,i] else 0) - v[T,i];
36+
# o estoque e atualizado semana a semana, cada time tem um estoque de camisetas, ele e resultado
37+
# da soma do estoque do mes anterior com o excedente do mes atual (note que se o excedente e negativo
38+
#temos que o estoque sera reduzido.
2539

2640
# de demanda (nao da para vender mais do que a demanda)
2741
subj to r_demanda{T in TIMES, i in S}:
2842
v[T,i] <= demanda[T,i];
2943

30-
# de produção (nao da para produzir mais do que a capacidade normal)
31-
subj to prodN{T in TIMES, i in S}:
32-
x[T,i] <= capacidadeNormal;
44+
# de produção (não dá para produzir mais do que a capacidade normal)
45+
subj to prodN{i in S}:
46+
sum{T in TIMES} x[T,i] <= capacidadeNormal;
47+
48+
# de produção extra (não dá para produzir mais extras do que a capacidade extra)
49+
subj to prodE{i in SExtra}:
50+
sum{T in TIMES} y[T,i] <= capacidadeExtra;
3351

34-
#de producao extra (nao da para produzir mais extras do que a capacidade extra)
35-
subj to prodE{T in TIMES, i in SExtra}:
36-
y[T,i] <= capacidadeExtra;
52+
# de estoque e producao (nao da para vender mais do que o estoque + producao)
53+
subj to venda_estoque_prod{T in TIMES, i in S}:
54+
v[T,i] <= x[T,i] + (if i <= fimSemanasIniciais then y[T,i] else 0) + (if i > 1 then estoque[T,i-1] else 0);
3755

38-
# vendas <= produção (nao da para vender mais do que eh produzido)
39-
subj to venda_prod{T in TIMES, i in S}:
40-
v[T,i] <= x[T,i] + (if i <= 2 then y[T,i] else 0);
4156

4257
end;
4358

problema_camisetas/camisetasSol.txt

-53
This file was deleted.

problema_camisetas/camisetasSol2.txt

-185
This file was deleted.

0 commit comments

Comments
 (0)