#!/usr/bin/python3 # ==================================================================== # Ski manufacture problem # ---- x = number of parabolic skis per data # ---- $40 profit # ---- 6 hours fabricating # ---- 1 hours finishing # ---- y = number of conventional skis per day # ---- $30 profit # ---- 4 hours fabricating # ---- 1 hours finishing # ---- # ---- 108 fabricating department labor hours available per day # ---- 24 finishing department labor hours available per day # maximize profit # -------------------------------------------------------------------- # To see information on Pulp classes go to # https://www.coin-or.org/PuLP/pulp.html # ==================================================================== import pulp as pl x = pl.LpVariable('x',0,None,cat='integer') y = pl.LpVariable('y',0,None,cat='integer') prob = pl.LpProblem('SkiManufacturingProblem',pl.LpMaximize) # ---- add objective function (maximum profit) prob += 40*x + 30*y # ---- add constraints prob += 6*x + 4*y <= 108 prob += x + y <=24 # ---- solve problem (using default solver) status = prob.solve() print(f'status = {pl.LpStatus[status]}') # ---- describe solution x = pl.value(x) y = pl.value(y) print(f'{x} parabolic skis per day') print(f'{y} conventional skis per day') print(f'profit = ${40*x + 40*y} per day')