Estou com dificuldade para terminar essa tarefa de programação linear, utlizo o metodo, está printado ate o escostaalterada, tempera simulada não.
main.py
from estoque import Gerar_Problema, Avalia, Solucao_Inicial, sub_encosta, sub_encosta1,Tempera
from flask import Flask, render_template, request
app = Flask(__name__)
if __name__ == '__main__':
MIN1 = 5 # VALOR MÍNIMO PARA O CUSTO ENTRE PONTOS
MAX1 = 50 # VALOR MÁXIMO PARA O CUSTO ENTRE PONTOS
MIN2 = 1 # VALOR MÍNIMO PARA A QUANTIDADE
MAX2 = 5 # VALOR MÁXIMO PARA A QUANTIDADE
@app.route('/', methods=["GET", "POST"])
def index():
return render_template('index.html')
@app.route('/tela2', methods=["GET", "POST"])
def tela2():
if request.method == "POST":
quant = int(request.form['numero'])
valor_max = int(request.form['valor_max']) # Obtém o valor máximo do formulário
_metodos = str(request.form.get('campoMetodos'))
# Cria o problema
print(quant)
tmax = quant
temp_aux = 1000
t_ini = temp_aux * quant
fr = 0.9
temp_final = 0.01
valor1, quantidade = Gerar_Problema(quant, MIN1, MAX1, MIN2, MAX2)
si = Solucao_Inicial(quant, valor_max, valor1, quantidade) # Passa o valor máximo para a função
vi = Avalia(quant, si, valor1)
if _metodos == "SubidaEncosta":
print("Teste Subida Encosta Selecionada !!!!")
solucaoEncosta, valorEncosta = sub_encosta(si, vi, quant, valor1, valor_max)
print("Solucao Encosta: ", solucaoEncosta)
print("Valor Encosta: ", valorEncosta)
return render_template('index.html', valor1=valor1,
quantidade=quantidade,
si=si,
vi=vi,
solucaoEncosta=solucaoEncosta,
valorEncosta=valorEncosta)
elif _metodos == "SubidaEncostaAlt":
solucaoSubidaAlterada, valorSubidaAlterada = sub_encosta1(si, vi, quant, valor1, valor_max, tmax)
print("Solucao Alterada :", solucaoSubidaAlterada)
print("Valor Alterada :", valorSubidaAlterada)
return render_template('index.html', valor1=valor1,
quantidade=quantidade,
si=si,
vi=vi,
solucaoSubidaAlterada=solucaoSubidaAlterada,
valorSubidaAlterada=valorSubidaAlterada)
elif _metodos == "TemperaSimulada":
##Tempera Simuulada
print("Tempera Foi selecionado")
solucaoTempera, valorTempera = Tempera(quant, valor_max, valor1, quantidade, si, t_ini, temp_final, fr)
# solucaoTempera, valorTempera = Tempera(quant, si, p_max, valor_max, qtd, t_ini, fr, temp_final)
print("solucao Tempera",solucaoTempera)
print("Valor Tempera",valorTempera)
return render_template('index.html', valor1=valor1,
quantidade = quantidade,
si=si,
vi= vi,
solucaoTempera=solucaoTempera,
valorTempera=valorTempera)
## Quando Todos for seleciono
##Subida Encosta
solucaoEncosta, valorEncosta = sub_encosta(si, vi, quant, valor1, valor_max)
print("Solucao Encosta: ", solucaoEncosta)
print("Valor Encosta: ", valorEncosta)
# Subida De Encosta Alterada
solucaoSubidaAlterada, valorSubidaAlterada = sub_encosta1(si, vi, quant, valor1, valor_max, tmax)
print("Solucao Alterada :", solucaoSubidaAlterada)
print("Valor Alterada :", valorSubidaAlterada)
return render_template('index.html', valor1=valor1,
quantidade=quantidade,
si=si,
vi=vi,
solucaoEncosta=solucaoEncosta,
valorEncosta=valorEncosta,
solucaoSubidaAlterada=solucaoSubidaAlterada,
valorSubidaAlterada=valorSubidaAlterada)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=81)
estoque.py
from estoque import Gerar_Problema, Avalia, Solucao_Inicial, sub_encosta, sub_encosta1,Tempera
from flask import Flask, render_template, request
app = Flask(__name__)
if __name__ == '__main__':
MIN1 = 5 # VALOR MÍNIMO PARA O CUSTO ENTRE PONTOS
MAX1 = 50 # VALOR MÁXIMO PARA O CUSTO ENTRE PONTOS
MIN2 = 1 # VALOR MÍNIMO PARA A QUANTIDADE
MAX2 = 5 # VALOR MÁXIMO PARA A QUANTIDADE
@app.route('/', methods=["GET", "POST"])
def index():
return render_template('index.html')
@app.route('/tela2', methods=["GET", "POST"])
def tela2():
if request.method == "POST":
quant = int(request.form['numero'])
valor_max = int(request.form['valor_max']) # Obtém o valor máximo do formulário
_metodos = str(request.form.get('campoMetodos'))
# Cria o problema
print(quant)
tmax = quant
temp_aux = 1000
t_ini = temp_aux * quant
fr = 0.9
temp_final = 0.01
valor1, quantidade = Gerar_Problema(quant, MIN1, MAX1, MIN2, MAX2)
si = Solucao_Inicial(quant, valor_max, valor1, quantidade) # Passa o valor máximo para a função
vi = Avalia(quant, si, valor1)
if _metodos == "SubidaEncosta":
print("Teste Subida Encosta Selecionada !!!!")
solucaoEncosta, valorEncosta = sub_encosta(si, vi, quant, valor1, valor_max)
print("Solucao Encosta: ", solucaoEncosta)
print("Valor Encosta: ", valorEncosta)
return render_template('index.html', valor1=valor1,
quantidade=quantidade,
si=si,
vi=vi,
solucaoEncosta=solucaoEncosta,
valorEncosta=valorEncosta)
elif _metodos == "SubidaEncostaAlt":
solucaoSubidaAlterada, valorSubidaAlterada = sub_encosta1(si, vi, quant, valor1, valor_max, tmax)
print("Solucao Alterada :", solucaoSubidaAlterada)
print("Valor Alterada :", valorSubidaAlterada)
return render_template('index.html', valor1=valor1,
quantidade=quantidade,
si=si,
vi=vi,
solucaoSubidaAlterada=solucaoSubidaAlterada,
valorSubidaAlterada=valorSubidaAlterada)
elif _metodos == "TemperaSimulada":
##Tempera Simuulada
print("Tempera Foi selecionado")
solucaoTempera, valorTempera = Tempera(quant, valor_max, valor1, quantidade, si, t_ini, temp_final, fr)
# solucaoTempera, valorTempera = Tempera(quant, si, p_max, valor_max, qtd, t_ini, fr, temp_final)
print("solucao Tempera",solucaoTempera)
print("Valor Tempera",valorTempera)
return render_template('index.html', valor1=valor1,
quantidade = quantidade,
si=si,
vi= vi,
solucaoTempera=solucaoTempera,
valorTempera=valorTempera)
## Quando Todos for seleciono
##Subida Encosta
solucaoEncosta, valorEncosta = sub_encosta(si, vi, quant, valor1, valor_max)
print("Solucao Encosta: ", solucaoEncosta)
print("Valor Encosta: ", valorEncosta)
# Subida De Encosta Alterada
solucaoSubidaAlterada, valorSubidaAlterada = sub_encosta1(si, vi, quant, valor1, valor_max, tmax)
print("Solucao Alterada :", solucaoSubidaAlterada)
print("Valor Alterada :", valorSubidaAlterada)
return render_template('index.html', valor1=valor1,
quantidade=quantidade,
si=si,
vi=vi,
solucaoEncosta=solucaoEncosta,
valorEncosta=valorEncosta,
solucaoSubidaAlterada=solucaoSubidaAlterada,
valorSubidaAlterada=valorSubidaAlterada)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=81)
resultado se digito quntidade 10 e valor maximo 80 por exemplo:
Preço do produto: [22 21 48 18 13 27 14 15 41 18]
Quantidade do produto: [2 3 5 3 3 1 2 2 1 5]
Solução inicial : [1 0 0 1 0 1 0 0 0 0]
Preço total: 67
Solução Encosta : [0 0 0 1 0 1 0 1 0 1]
Preço Encosta: 78
Solução Encosta Alterada : [1 1 0 1 0 0 0 0 0 1]
Preço Encosta Alterada: 79
está faltando o Tempera Simulada não está printando, se alguem puder me ajudar
os arquivos do templates estão no anexo
index.html
tela2.html