当前位置: 首页 > 知识库问答 >
问题:

CPLEX Python API如何将决策变量与目标函数中的虚拟变量相乘?

麻宾白
2023-03-14

我试图在目标函数中加入变量的乘法。我有一个整数x_t,还有一个二进制变量w_t_1。我想在目标函数中有-1200*w\u t\u 1*x\u t。我怎么做?我在IBM文档中找不到任何东西。

共有1个答案

劳豪
2023-03-14

让我给你举一个非常简单的动物园例子

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)
 类似资料:
  • 当一个方法返回多个值时,有些返回值有时候用不到,要是声明很多变量来一一接收,显然不太合适(不是不能)。Lua 提供了一个虚变量(dummy variable)的概念, 按照惯例以一个下划线(“_”)来命名,用它来表示丢弃不需要的数值,仅仅起到占位的作用。 看一段示例代码: -- string.find (s,p) 从string 变量s的开头向后匹配 string -- p,若匹配不成功,返回ni

  • 有两列: 我怎样才能用如下虚拟变量创建矩阵: 使用pyspark库及其功能?

  • 我的桌子是这样的: 在我使用get dummies之后,那么桌子是这样的: 我希望数字列只显示一次。有人能帮忙吗?谢谢!

  • 问题内容: 我想知道是否存在一种实现类似于map getter的功能的方法:它返回返回值作为第一个参数,(可选地分配)第二个值作为第二个参数。因此,我需要可以通过以下方式调用的函数: 问题答案: 不,它无法完成,唯一的选择是返回一个指针并检查它是否为nil。

  • 根据我的理解,函数和void函数可以被调用,并且它们将在其中执行代码。 然而,我不明白括号内的变量的用途。即使少了其中一个,代码也无法运行。然而,似乎您可以为这些变量分配不同的名称,它仍然可以工作。 这些变量是如何相互联系/相互作用的?指: 1.)双倍幂(双基,int指数) 2.)void print_pow(双基,int指数) 3.)print_pow(基数、指数);

  • 我有一个函数,它应该创建一个变量,并用变量乘积的值,属性填充变量。为了变得更加灵活,我没有为产品属性创造值 我试过上百种方法,使值坚持变化,但他们没有。变体是在后端创建的,但它没有Atributed??????请帮忙!!我做这个已经4天了。( 归属于产品atributes的唯一值是“空转”(>&gtempty<<)价值。////////////变量数据-&>;数组(key->Value),以便产品