Desafió semana 4

Esta semana el desafió es:

Un emprendimiento fabrica dos tipos de cerveza, Ale y Lager, para ello ocupa (Ver tabla 1). Ademas, la empresa cuenta con: 480 kilos de maíz, 160 kilos de lúpulo y 1500 kilos de Malta. Ademas, la empresa obtiene de utilidad 13 U.M. por la cerveza Ale y 23 U.M. por la cerveza Lager.
¿Cuál es la cantidad idónea a producir de cada tipo de cerveza para que la empresa obtenga el máximo de utilidad?

CervezaMaíz (kg)Lúpulo (kg)Malta (kg)
Ale5450
Lager15430
Tabla 1

    Primero, debemos buscar la cantidad de cerveza que se pueden fabricar con los recursos disponibles para no iterar hasta el infinito.

cant_combinaciones_ale_maiz = int(480/5)
cant_combinaciones_ale_malta = int(1500/50)
cant_combinaciones_ale_lupulo = int(160/4)

cant_combinaciones_lager_maiz = int(480/15)
cant_combinaciones_lager_lupulo = int(160/4)
cant_combinaciones_lager_malta = int(1500/30)

y ahora tomamos el mayor para ir a todos los casos

c_ale = [cant_combinaciones_ale_maiz, cant_combinaciones_ale_malta, cant_combinaciones_ale_lupulo]
c_lager = [cant_combinaciones_lager_maiz, cant_combinaciones_lager_malta, cant_combinaciones_lager_lupulo]

Finalmente, queda crear los loops con las restricciones (if)

for ale in np.arange(0, np.max(c_ale)):
  for lager in np.arange(0, np.max(c_lager)):
    if ale*5 + lager*15<=480: #Maiz
      if ale*4 + lager*4<=160: #Lupulo
        if ale*50 + lager*30<=1500: #Malta
          if 13*ale+23*lager > mejor[0]:
            mejor[0] = 13*ale+23*lager
            mejor[1] = ale
            mejor[2] = lager
print('Ale {}, Lager {}'.format(mejor[1], mejor[2]))

En hora buena, lograste solucionarlo!, sin embargo, quiero usar esta pregunta para introducir una nueva forma de resolver este tipo de problemas, llamado, problemas de optimización, el cual busca una buena respuesta (no siempre la mejor) pero en un tiempo razonable, ya que podemos estar obteniendo todos los valores después de varios días. El cual veremos en mayor detalle en el próximo articulo que estoy redactando para no confundir con este.

Deja un comentario