Model.setObjectiveN ()


Model.setObjectiveN ()

setObjectiveN(expr, index, priority=0, weight=1, abstol=0, reltol=0, name="")

设定一个与线性表达式相等的优化目标。

请参阅讨论多个目标有关使用替代目标的更多信息。

注意,您还可以使用ObjN变量属性。如果你想混合和匹配这两种方法,请注意,这种方法取代了整个现有的目标,而ObjN属性可用于修改单个术语。

参数:

expr (LinExpr):新的替代目标。

指数(int):新目标指数。如果使用索引0,这个例程将改变主要优化目标。

优先级(int,可选):替代目标的优先次序。这个初始化ObjNPriority这个目标的属性。

体重(浮动,可选):替代目标的重量。这个初始化ObjNWeight这个目标的属性。

abstol(浮动,可选):对替代目标的绝对容忍。这个初始化ObjNAbsTol这个目标的属性。

reltol(浮动,可选):替代目标的相对容忍度。这个初始化ObjNRelTol这个目标的属性。

名称(字符串,可选):替代目标的名称。这个初始化ObjNName这个目标的属性。请注意,的名字将以ASCII字符串的形式存储。因此,名字就像“一个< span > < /美元跨度> {\ rightarrow} < span > < / span >美元B”会产生一个错误,因为< span > < /美元跨度> {\ rightarrow} < span > < / span >美元'不能以ASCII字符表示。还请注意,强烈建议使用包含空格的名称,因为它们不能写入LP格式文件。

使用示例:

#主要目标:x + 2 y模型。setObjectiveN(x + 2*y, 0, 2) # Alternative, lower priority objectives: 3 y + z and x + z model.setObjectiveN(3*y + z, 1, 1) model.setObjectiveN(x + z, 2, 0)