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字符串的形式存储。因此,名字就像“一个B”会产生一个错误,因为'不能以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)