抽象模型分辨率的数据

时间:2017-03-01 10:27:12

标签: pyomo

我从pyomo开始,我有一些问题。

我创建了一个抽象模型和相应的数据文件。我想在脚本中解决它,以便以后使用变量的解决方案。 我试着用下一个代码来做:

<packagename.views.ArialMTBoldRegularTextView
            android:layout_width="wrap_content"
            android:layout_height="35dp"
            android:gravity="center"
            android:text="Pseudo"/>

它完美地解决了这个问题,但是我的数据存在一些问题。在我的模型中没有设置,所以数据是简单的常量定义为:

data = DataPortal()
data.load(filename="Datos\Datos_reactor2.dat")
instance = model.create_instance(data)  
opt = SolverFactory("ipopt")
results = opt.solve(instance)

但是如果我使用这个数据文件python告诉我一个错误:

param qv := 2.832;
param ci := 14.46;
...

当我更改定义参数的数据文件时:

ValueError: Parameter 'qv' defined with '1' dimensions, but data has '1' values: [2.832]. Are you missing a value for a 1-dimensional index?

我收到了另一个错误:

param qv := 1  2.832;
param ci := 1  14.46;
...

最后,为了解决问题,我必须将常量定义为表格(参见beolw),但我不了解以前的错误。

RuntimeError: Failed to set value for param=qv, index=1, value=2.832. source error message="Error setting parameter value: Cannot treat the scalar Param 'qv' as an array"

要突出说明如果我尝试用以下方法解决问题:

table qv := 2.832;
table ci := 14.46;
...

根据第一种情况定义的数据(param qv:= 2.832; ...)我没有任何问题,我得到了相同的解决方案。

谁能告诉我差异并向我解释错误?

谢谢!

Maria

0 个答案:

没有答案