在这篇文章中,我将在下面展示如何建模和线性优化问题:
我可以使用函数来建模和解决这个简单的线性优化问题。为此,我将以矢量和矩阵符号的形式进行陈述,并将其转化为最小化问题:
在Python中,我可以如下解决此问题:
# 用成本函数系数值设置清单 c = [-2,-3] # 建立约束系数矩阵A A_ub = [[1,1], [2,1]] # 上限的约束列表(小于或等于约束) b_ub =[10,15] # 另外,我需要为每个优化变量准备一个边界元组,并将它们汇总为一个列表 x1_bounds = (0,None) x2_bounds = (0,None) # 现在我使用SciPy.optimize.linprog建模并解决手头的问题 from scipy.optimize import linprog model_linear = linprog(c=c, A_ub=A_ub, b_ub = b_ub, bounds = [x1_bounds,x2_bounds]) # 输出模型解决方案 print(str(model_linear))
fun: -30.0 message: 'Optimization terminated successfully.' nit: 1 slack: array([ 0., 5.]) status: 0 success: True x: array([ 0., 10.])
最佳解是x1 = 0,x2 = 10
最佳值为30
第一个约束它绑定
第二个约束条件是没有约束力
专业领域为优化和仿真的工业工程师(R,Python,SQL,VBA)
Leave a Reply