MATLAB 的线性规划工具还挺顺手的,尤其适合那种变量多、约束条件复杂的模型。你只要把目标函数和约束条件往 linprog
一扔,基本就搞定了,响应也快,代码也不长。
用 MATLAB 求解线性规划,核心就是熟悉 linprog 函数,传参别搞错就好。比如你有个最小化问题,只要把系数矩阵 f
、约束 A
和 b
填进去,一行代码跑出结果。
有时候线性规划会变成整数规划,或者非线性了,MATLAB 也不怵。你可以参考下Matlab 源码与运筹学,挺系统的,线性、整数、非线性都有。
如果你习惯 Python,也可以看看Python 实现线性规划模型,用 scipy.optimize.linprog
写也挺方便,但总感觉 MATLAB 跑得更稳。
实在遇到卡住的问题,不妨瞄一眼线性规划的 MATLAB 优化方法,讲得还蛮细,尤其是内点法那块。
哦对了,如果你是第一次用 MATLAB 跑线性规划,推荐直接从Github 的首次线性规划 MATLAB 代码实现入手,结构清晰,改起来也方便。
,用 MATLAB 跑线性规划,算是挺成熟的一套工具了。如果你模型稍微复杂点、对求解精度要求高,那就更推荐用它。
如果你还想拓展下思路,可以看看模拟退火算法线性规划,虽然不一定是最快的解法,但挺适合用来试试全局搜索思路。