線性規劃-使用 Python

問題

程式碼

# -*- coding: utf-8 -*- from pulp import * prob = LpProblem("Textile", LpMaximize) # 變數 pants = LpVariable("Pants", lowBound=0, cat='Integer') jacket = LpVariable("Jacket", lowBound=0, cat='Integer') # 目標 prob += 50 * pants + 40 * jacket # 限制 prob += pants + 1.5 * jacket <= 750 prob += 2 * pants + jacket <= 1000 # 解算 prob.writeLP("Textile.lp") prob.solve() if prob.status == 1: # 解答物件 Pants = Jacket = None for v in prob.variables(): if v.name == 'Pants': Pants = v elif v.name == 'Jacket': Jacket = v print "Pants=%d\tJacket=%d\t$=%.2f" % \ (Pants.varValue, Jacket.varValue, value(prob.objective)) # 殘餘資源 cotton = 750 - (Pants.varValue + 1.5 * Jacket.varValue) polyester = 1000 - (2 * Pants.varValue + Jacket.varValue) print "Cotton=%.2f\tPolyester=%.2f" % (cotton, polyester) else: print "%s" % (LpStatus[prob.status])