国赛 · 2023B
多波束测线问题
由换能器开角与海水深度推导条带覆盖宽度,设计满足重叠率要求的测线间距与布设方案。
1 个关联模型拆解这道题 →
决策量必须是整数或只能取 0/1 的离散问题:选址、指派、排班、装箱、是否启用某条产线。
依赖见代码开头;示例在自己的 Python 环境运行,页面不执行代码。用于理解方法,正式参赛请补齐数据检验与误差分析。
# 依赖: scipy >= 1.9
import numpy as np
from scipy.optimize import LinearConstraint, Bounds, milp
# 最大化 -> 目标取负;下面是一个 0-1 背包式问题
c = np.array([-8.0, -11.0])
A = np.array([[5.0, 7.0], [1.0, 0.0], [0.0, 1.0]])
con = LinearConstraint(A, -np.inf, np.array([40.0, 5.0, 4.0]))
res = milp(c=c, constraints=[con], integrality=np.ones(2), bounds=Bounds(0, 1))
assert res.success, res.message
print(f'最优值={-res.fun:.4f} 最优解={np.round(res.x)}')由换能器开角与海水深度推导条带覆盖宽度,设计满足重叠率要求的测线间距与布设方案。
依据历史销售与损耗数据预测短期需求,制定各品类的定价与补货量,使收益最大同时损耗可控。