python - CPLEX Python API 如何将决策变量与目标函数中的虚拟变量相乘?
问题描述
我正在尝试将变量的乘法添加到目标函数。我有一个整数 x_t,我有一个二进制变量 w_t_1。我想在目标函数-1200 * w_t_1 * x_t。我该怎么做?我在 IBM 文档中找不到任何内容。
解决方案
让我给你一个非常简单的例子,来自动物园的例子
mdl.maximize(nbbus40*500*option1+nbbus30*400*option2 )
在
from docplex.mp.model import Model
mdl = Model(name='buses')
nbbus40 = mdl.integer_var(name='nbBus40')
nbbus30 = mdl.integer_var(name='nbBus30')
mdl.parameters.optimalitytarget=3
mdl.add_constraint(nbbus40*40 + nbbus30*30 >= 300, 'kids')
mdl.minimize(nbbus40*500 + nbbus30*400)
mdl.solve()
for v in mdl.iter_integer_vars():
print(v," = ",v.solution_value)
print()
print("with more constraints")
option1=mdl.binary_var(name='option1')
option2=mdl.binary_var(name='option2')
mdl.add(nbbus40<=10)
mdl.add(nbbus30<=10)
mdl.add(option1==(nbbus40<=3))
mdl.add(option2==(nbbus40>=7))
mdl.add_constraint(option1+option2>=1)
mdl.maximize(nbbus40*500*option1+nbbus30*400*option2 )
mdl.solve()
for v in mdl.iter_integer_vars():
print(v," = ",v.solution_value)
推荐阅读
- monaco-editor - 如何在 monaco-editor 中自动将缩进转换为空格?
- python - Python datetime - 获取数据框中的日期间隔
- python - psycopg2 动态插入查询问题,标识符处或附近的语法错误
- php - 尝试使用 PHP 将查询传递到数据库时出错(来自 HTML 表单的数据)
- sql - SQL Server:日期不一致
- angular - 如何禁用 primeNg TreeTable 父节点
- datatables - 为什么我的数据表不会显示列名?
- php - 将 blog-detail.php/{slug} 的 URL 重写为 blog-detail/{slug}
- php - 如何隐藏空元素?
- c# - 缺少的文件是 packages\Microsoft.Net.Compilers.2.4.0\build\Microsoft.Net.Compilers.props