python - 使用 add_indicator 或 add_if_then 的时间优先级和负载约束
问题描述
我正在使用 Cplex 在 Python 中实现 VRP(车辆路由)的优先级和负载约束。我尝试使用 add_indicator 而不是 big-M。但我不知道如何为 i 制定 md1.add_indicators(x[i,j,k], t[j,k]==t[i,k]+t[i,j], true_values=1), j in A for k in K,实现约束t[j,k]>= t[i,k]+travel_time[i,j]。在我看来,add_indicator(或 add_if_then)仅适用于每个给定数量的 i、j、k,例如 md1.add_indicator(x[0,1,2], t[1,2]==t[0 ,2]+t[0,1],active_value=1)。
任何人都可以告诉我如何处理这个问题?提前致谢!!
解决方案
您是否知道,您可以使用逻辑约束甚至比指标更简单?
看
mdl.add(nbKindOfBuses==(nbbus40>=1)+(nbbus30>=1))
在
推荐阅读
- android - 在 SDK 管理器中找不到 Android 11
- javascript - Javascript如何从函数返回值而不是通过返回
- php - 引导表未正确显示数据
- javascript - 使用箭头导航嵌套数组
- laravel - Laravel 质量分配忽略受保护
- deep-learning - 在训练带有一些冻结模块的模型时是否应该停用 dropout?
- python - make' 未被识别为内部或外部命令 Windows 10 Anaconda
- ruby - 迁移到新版本后的 Redmine 错误
- php - Twilio Api 调用时间限制
- python - opencv calcOpticalFlowPyrLK imgdepth 错误