简体   繁体   English

没有为输入 model 定义目标。无法写入合法的 LP 文件

[英]No objectives defined for input model. Cannot write legal LP file

I just write my pyomo model and i want to solve them but i got this Error:我刚刚写了我的 pyomo model 我想解决它们但是我得到了这个错误:

ERROR: No objectives defined for input model. Cannot write legal LP file.错误:没有为输入 model 定义目标。无法写入合法的 LP 文件。

here is my code这是我的代码

import pyomo.environ as pyo
import sys

model = pyo.ConcreteModel()
model.i = pyo.Set(initialize=[1,2,3])
model.j = pyo.Set(initialize=[1,2])

data_d = {1:50 , 2:50 , 3:100}
model.d = pyo.Param(model.i , initialize=data_d)
data_d_p = {1:200 , 2:250 , 3:150}
model.d_p = pyo.Param(model.i , initialize=data_d_p)

model.X = pyo.Var(model.i , model.j ,domain = pyo.NonNegativeIntegers, initialize = 0) 
model.Y = pyo.Var(model.i , model.j ,domain = pyo.NonNegativeIntegers, initialize = 0)

model.obj = model.Objective(expr = (model.X[1,1] + model.Y[1,1]) + 2 * (model.X[1,2] + model.Y[1,2]) + 
               2 * (model.X[2,1] + model.Y[2,1]) + (model.X[2,2] + model.Y[2,2]) + 
               (model.X[3,1] + model.Y[3,1]) + (model.X[3,2] + model.Y[3,2]) , sense = pyo.minimize)

def xi_constraint_rule(m, i):
       return sum(m.X[i,j] for j in m.j)
    
def yi_constraint_rule(m, i):
       return sum(m.Y[i,j] for j in m.j)

def xj_constraint_rule(m, j):
       return sum(m.X[i,j] for i in m.i)
    
def yj_constraint_rule(m, j):
       return sum(m.Y[i,j] for i in m.i)

model.first_const = pyo.ConstraintList()
for i in model.i:
    model.first_const.add(xi_constraint_rule(model, i) == pyo.value(model.d[i]))

    
model.second_const = pyo.ConstraintList()
for i in model.i:
    model.second_const.add(yi_constraint_rule(model, i) == pyo.value(model.d_p[i]))

    
model.third_const = pyo.ConstraintList()
for j in model.j:
    model.third_const.add(xj_constraint_rule(model, j) >= 0.25 * (xj_constraint_rule(model, j) + yj_constraint_rule(model, j)))

                    
model.fourth_const = pyo.ConstraintList()
for j in model.j:
    model.fourth_const.add(xj_constraint_rule(model, j) + yj_constraint_rule(model, j) >= 300)
    

model.fifth_const = pyo.ConstraintList()
for j in model.j:
    model.fifth_const.add(xj_constraint_rule(model, j) + yj_constraint_rule(model, j) <= 500)

how i can solve this Error?我该如何解决这个错误? Thank for your help!感谢您的帮助!

I want to solve LP problem in pyomo我想解决 pyomo 中的 LP 问题

You have an unfortunate typo in your objective function statement.不幸的是,您的目标 function 声明中有一个拼写错误。 Instead of referencing the Objective construction function in pyo , you made a nonsensical model component.您没有在pyo中引用 Objective 构造 function,而是创建了一个无意义的 model 组件。

Change this:改变这个:

model.obj = model.Objective(expr = (model.X[1,1] + model.Y[1,1])...

To this:对此:

model.obj = pyo.Objective(expr = (model.X[1,1] + model.Y[1,1])...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Pyomo(v5.2)python(v3.7)脚本解决具体模型引发ValueError:未定义目标; 无法写入合法的LP文件 - Pyomo (v5.2) python(v3.7) script solving concrete model throws ValueError: No objective defined; cannot write legal LP file RuntimeError:无法写入合法的 LP 文件。 目标“Maximum_profit”具有非二次的非线性项 - RuntimeError: Cannot write legal LP file. Objective 'Maximum_profit' has nonlinear terms that are not quadratic 多个目标的模型检测,但只尝试写一个 - Model Detection of Multiple Objectives, But Only Trying To Write One 我的 keras 无法加载模型。 “无效的 input_shape 参数”错误消息 - my keras cannot load a model. "Invalid input_shape argument" Error message 具有变量值的 Pyomo 模型 LP 文件 - Pyomo Model LP file with variable values FailedPreconditionError 与自定义 Tensorflow 2 模型。 找不到变量 - FailedPreconditionError with custom Tensorflow 2 Model. Variable cannot be found 无法将图层添加到已保存的Keras模型中。 'Model'对象没有'add'属性 - Cannot add layers to saved Keras Model. 'Model' object has no attribute 'add' Keras-无法将我的输入数据释放到keras模型。 检查输入时出错 - Keras - Can't freed my input data to keras model. Error when checking input Django ModelForms中的其他字段:我可以看到它们,但是无法将它们保存到模型中。 为什么? - Extra fields in Django ModelForms: I can see them, but cannot save them to the model. Why? 尝试编写要求用户输入输入文件名的python代码,它可以工作,但是当我输入输入文件时却说未定义“输入文件”? - Trying to write python code asking user for the name of the input file, it works but when I enter the input file it says 'input file' is not defined?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM