这货很强大, 必须掌握。
1.线性规划算法简介(非常简洁)
线性规划(Linear programming,简称LP),大致的定义我总结为在线性的目标和约束中,找出一个最优解。
线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。研究线性约束条件下线性目标函数的极值问题的数学理论和方法。在企业的各项管理活动中,例如计划、生产、运输、技术等问题,线性规划是指从各种限制条件的组合中,选择出最为合理的计算方法,建立线性规划模型从而求得最佳结果。
线性规划步骤:
(1)列出约束条件及目标函数
(2)画出约束条件所表示的可行域
(3)在可行域内求目标函数的最优解及最优值
常用求解方法:
单纯形法(细节略)。
2.python实现(引用)
废话少说,上代码。
例题:已知约束:
x <= 3
y <= 4
x + y <= 5
x >=0, y >=0
求最大化:maximize 15 x + 10 y
python代码:
from pymprog import *
begin(‘selfDefine’)
x, y = var(‘x, y’) # variables
maximize(15 * x + 10 * y, ‘maxValue’)
x <= 3
y <= 4
x + y <= 5
solve()
print(‘最大值:’,vobj())
print(‘x=’,x.primal,’y=’,y.primal)
3.python其他线性规划包
gurobipy、cplex、pulp、scipy.optimize. linprog等,这里就不介绍了,下篇上线性规划算法在工程应用的实例。
感兴趣的朋友,关注做个交流。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!