多周期多场景的供应链优化问题 python 代码
这段代码是一个使用 Gurobi 优化器的混合整数规划(MIP)模型,用于解决一个多周期多场景的供应链优化问题。代码定义了一个名为 `MCCG` 的类,该类包含了多个方法,用于构建和解决主问题(Master Problem)、子问题(Subproblem)和子子问题(Sub-subproblem)。下面是对代码中每个部分的解释:
1. **导入库和设置**:
- 导入了 `gurobipy` 库,这是一个用于调用 Gurobi 优化器的 Python 接口。
- 导入了 `numpy` 用于数学运算,`random` 用于生成随机数,`time` 用于计时,`matplotlib.pyplot` 用于绘图,以及 `FontProperties` 用于设置图表中的字体。
2. **类 `MCCG` 的初始化**:
- 初始化了一系列的参数,包括供应商数量、零部件种类数、周期数量、成品种类数、中断场景数量等。
- 定义了成本矩阵、供应能力、需求数据等。
3. **方法 `mp`**:
- 构建并解决主问题(Master Problem),目标是最小化选择供应商和零部