线性与混合整数优化¶
线性与混合整数优化¶
问题概览¶
这类问题可以把业务需求写成变量、线性表达式、约束和目标函数。典型 场景包括分配、背包、设施选址,以及可以显式线性化的路径问题。
需求定义¶
- 输入:候选对象、成本或收益、容量、距离矩阵和业务参数。
- 决策:选择、分配、开设设施,或选择一条满足访问关系的路径。
- 约束:容量、供需平衡、唯一分配、流守恒和子回路消除。
- 目标:最大化收益,或最小化成本、距离和资源使用量。
规模与数据来源¶
规模主要由变量数、约束数、非零系数数目和路径节点数决定。TSP 的公开 问题可以参考 TSPLIB95 对称 TSP 数据集, 其中每个实例以节点数、坐标或显式距离矩阵描述。
建模方案¶
统一使用 ModelBuilder。普通分配、背包和设施选址直接使用整数或布尔
变量;TSP 则使用弧选择变量、每个节点恰好进入和离开一次的约束,以及
MTZ 等子回路消除约束。这样 TSP 仍然是一个可交给精确 MP 后端的模型,
不需要使用 Python 黑盒评分函数。
对于只包含有界整数和结构化序列转移成本的模型,也可以使用
sequence_var + sequence_transition_sum,再选择统一的 solve(...) 路径。
求解方案¶
- 示例默认使用
solve(...),快速验证统一建模和求解路径。 - 同一份模型需要 OptX 精确路径时,可切换到
solve_optx(...);完整代码以注释保留切换方式。
示例页¶
每个示例页先说明一个具体需求,再展示对应的建模方式和完整公开代码: