一、开源免费工具
1. GLPK (GNU Linear Programming Kit)
-
特点:
- 支持线性规划(LP)、混合整数规划(MIP)
- 使用MathProg语言建模,可通过
glpsol
命令行求解 - 适合中小规模问题,性能低于商业求解器
-
适用场景:学术研究、小规模优化问题
-
安装:Linux (
sudo yum install glpk
),Windows需手动安装 -
示例:
var x1 >= 0; var x2 >= 0; maximize obj: 0.6 * x1 + 0.5 * x2; s.t. c1: x1 + 2 * x2 <= 1; s.t. c2: 3 * x1 + x2 <= 2; solve; display x1, x2; end;
2. PuLP (Python库)
-
特点:
- 基于Python,支持多种求解器(包括GLPK、CBC)
- 语法简洁,适合熟悉Python的用户
-
适用场景:数据科学、自动化优化任务
-
示例:
from pulp import * prob = LpProblem("Bike Production", LpMaximize) x = LpVariable("x"