O Programação Linear
Por: jean_cf • 30/11/2020 • Exam • 963 Palavras (4 Páginas) • 147 Visualizações
Exercicio matemática
from pymprog import*
N = ["Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set"] #Meses
D = [1, 2, 5, 3, 2, 6, 3, 2] #Demanda
PM = 4 #Capacidade de produção mensal
E = 3 #Capacide de estoque
CP = 10000 #Custo por unidade do barco produzida
CF = 4000 #Custo fixo mensal se barco produzido
CE = 1000 #Custo por unidade estocada de barco mensal
n = len(N) #quantidade de meses
M = sum(D[i] for i in range(n))
begin("barcos") # iniciando modelo
# variaveis de decisão
x = var("x", n) # Quantidade de barcos produzidos no periodo
s = var("s", M, bool)
y = var("y", n) # Quantidade em estoque
# função objetivo
minimize(sum(CP * x[i] + (CE * y[i]) + (CF * s[i]) for i in range(n)))
for i in range(n):
x[i] + y[i-1] - y[i] == D[i] #atendendo a demanda
for i in range(n):
y[-1] == 0 #estoque inicial nulo
for i in range(n):
x[i] <= PM #produzir menos ou igual que a capacidade máxima
for i in range(n):
y[i] <= E #estocar menos ou igual a capacidade máxima
for i in range(n):
x[i] <= M*s[i] #acoplamento de x(qntd barco) e s(se produziu)
# resolvendo
solve()
print()
print('Valor ótimo: R$ {:.2f}'.format(vobj()))
print()
for i in range(n):
print("demanda em {} = {}".format(N[i], D[i]))
print()
for i in range(n):
print("X {} = {}".format(N[i], x[i].primal))
print()
for i in range(n):
print("Y {} = {}".format(N[i], y[i].primal))
print()
end()
Valor ótimo: R$ 274000.00
demanda em Fev = 1
demanda em Mar = 2
demanda em Abr = 5
demanda em Mai = 3
demanda em Jun = 2
demanda em Jul = 6
demanda em Ago = 3
demanda em Set = 2
Barcos produzidos em Fev = 4.0
Barcos produzidos em Mar = 0.0
Barcos produzidos em Abr = 4.0
Barcos produzidos em Mai = 3.0
Barcos produzidos em Jun = 4.0
Barcos produzidos em Jul = 4.0
Barcos produzidos em Ago = 3.0
Barcos produzidos em Set = 2.0
Barcos estocados em Fev = 3.0
Barcos estocados em Mar = 1.0
Barcos estocados em Abr = 0.0
Barcos estocados em Mai = 0.0
Barcos estocados em Jun = 2.0
Barcos estocados em Jul = 0.0
Barcos estocados em Ago = 0.0
Barcos estocados em Set = 0.0
Valor ótimo: R$ 2031.34
x1 = 380.00 KG
x2 = 779.26 KG
x3 = 668.61 KG
Quantidade utilizada de Leite no Queijo Minas: 152.00
Quantidade utilizada de Soro no Queijo Minas: 83.60
Quantidade utilizada de Gordura no Queijo Minas: 125.40
Sobras de Leite: 335.13
Quantidade utilizada de Leite no Queijo Muçarela: 311.71
Quantidade utilizada de Soro no Queijo Muçarela: 249.36
Quantidade utilizada de Gordura no Queijo Muçarela: 257.16
Sobras de Soro: 0.00
Quantidade utilizada de Leite no Queijo Parmesão: 401.16
Quantidade utilizada de Soro no Queijo Parmesão: 127.04
Quantidade utilizada de Gordura no Queijo Parmesão: 267.44
Sobras de Gordura: 0.00
from pymprog import*
# nomes do rolês
materias = ['Leite', 'Soro', 'Gordura']
queijos = ['Minas', 'Muçarela', 'Parmesão']
# Dados de Entrada
L = [0.7, 1.15, 1.3] # lucro de cada queijo por kg
E = [1200, 460, 650] # disponibilidade (estoques)
D = [380, 450, 240]
# proporções de cada materia prima
P = [[0.4, 0.4, 0.6], # leite (L por kg do queijo)
[0.22, 0.32, 0.19], # soro (L por kg do queijo)
...