MATLAB 的整数规划用起来其实还挺顺的,尤其是搭配intlinprog这个函数,能轻松搞定一堆决策变量只能取整数的优化问题。资源包里的例子也挺实用的,不是那种死板公式堆,而是能直接上手的那种,适合你一边看一边敲。

整数规划其实是线性规划的进阶版,最大的区别嘛,就是变量不能取小数。别看这个小小限制,难度一下就上去了,MATLAB 的优化工具箱就派上大用场了。

intlinprog这种函数,结构清晰,用起来逻辑也不复杂。比如你要最大化z = 3x1 + 4x2,还有几个线性约束,要是自己从头推公式那挺麻烦,但用代码几行就能搞定:

c = [3; 4];
A = [1, 1; 2, -1];
b = [5; 1];
lb = [0; 0];
intcon = [1; 2];
[x, fval] = intlinprog(c, A, b, lb, [], [], intcon);

结果一跑出来就知道目标值是多少,每个变量该怎么取。你甚至可以拿它来做生产排程、项目选址、调度问题,场景多得。

再厉害一点的,还能搭配Global Optimization Toolbox去搞非凸问题,那就更有意思了。如果你本身搞运筹学或做优化建模,这包资料你还真别错过。

如果你想快速上手,可以从这个例子学起,熟悉下intlinprog的参数和思路。后续不管是科研还是实际项目,都挺能派上用场的。