# 目的関数の定義 prob += lpSum([profits[i]*discount_vars[i] for i in discounts])
# 制約条件の定義 prob += lpSum([discount_vars[i] for i in discounts]) <= 1.5, "Total Discount Constraint"
# 問題の解決 prob.solve()
最後に、結果を表示し、グラフ化します。
1 2 3 4 5 6 7 8 9 10 11 12 13
# 結果の表示 for v in prob.variables(): print(v.name, "=", v.varValue)
# グラフ化 plt.figure(figsize=(8,6)) plt.bar(range(len(discounts)), [value(var) for var in prob.variables()])
plt.xticks(range(len(discounts)), [var.name for var in prob.variables()]) plt.xlabel('Products') plt.ylabel('Discount Rate') plt.title('Optimal Discount Rates for Products') plt.show()