model.setObjectiven()
model.setObjectiven()
setobjectiven.(expr,index,priority = 0,权重= 1,abstol = 1e-6,Reltol = 0,name =“”)设置等于线性表达的替代优化目标。
请参阅讨论多目标有关使用替代目标的更多信息。
请注意,您还可以使用替代目标来修改objn.变量属性。如果您希望混合和匹配这两种方法,请注意,此方法替换整个现有目标,而objn.
属性可用于修改各个术语。
论点:
expr(linexpr):新的替代目标。
索引(int):新目标的索引。如果使用索引0,则此例程将更改主要优化目标。
优先权(int,可选):替代目标的优先权。这初始化了objnpriority.这个目标的属性。
重量(浮动,可选):替代目标的重量。这初始化了objnweight.这个目标的属性。
ABSTOL(浮动,可选):替代目标的绝对容忍度。这初始化了objnabstol.这个目标的属性。
Reltol(Float,可选):替代目标的相对容忍。这初始化了objnreltol.这个目标的属性。
名称(字符串,可选):替代目标的名称。这初始化了objname.这个目标的属性。注意姓名将作为ASCII字符串存储。因此,一个名字'一种B'会产生错误,因为''不能表示为ASCII字符。请注意,包含空格的名称强烈忽视,因为它们无法写入LP格式文件。
示例用法:
#主目标:x + 2 y model.setObjectiven(x + 2 * y,0,2)#替代,较低的优先级目标:3 y + z和x + z model.setObjectiven(3 * y + z,1,1)model.setObjectiven(x + z,2,0)