- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以在我的一生中,我无法运行我的 pyomo 程序。
我有我的 python 文件:
from pyomo.environ import *
#pyomo solve --solver=glpk diet.py diet.dat
model = AbstractModel()
# Foodss
model.m = Param(within=NonNegativeIntegers)
model.n = Param(within=NonNegativeIntegers)
model.warehouses = RangeSet(1, model.m)
model.stores = RangeSet(1, model.n)
model.cost = Param(model.warehouses,model.stores)
model.a = Param(model.warehouses)
model.b = Param(model.warehouses)
model.d = Param(model.stores)
model.amounts = Var(model.warehouses, model.stores, within = NonNegativeIntegers)
model.pprint()
# Minimize the cost of food that is consumed
def cost_rule(model):
return sum(
model.cost[n,i] * model.amounts[n,i]
for n in model.warehouses
for i in model.stores
)
model.cost = Objective(rule=cost_rule)
def minDemandRule(store, model):
return sum(model.a[i]*model.amounts[i, store] for i in model.warehouses) >= model.d[store]
model.demandConstraint = Constraint(model.stores, rule=minDemandRule)
# Limit the volume of food consumed
def maxSupplyRule(warehouse,model):
return sum(model.amounts[warehouses,j] for j in model.stores) <= self.b[warehouse]
model.supplyConstraint = Constraint(model.warehouses, rule=maxSupplyRule)
加上.dat 文件:
set warehouses := warehouseone warehousetwo warehousethree warehousefour;
set stores := storeone storetwo storethree storefour storefive storesix;
param cost:
storeone storetwo storethree storefour storefive storesix :=
warehouseone 23 12 34 25 27 16
warehousetwo 29 24 43 35 28 19
warehousethree 43 31 52 36 30 21
warehousefour 54 36 54 46 34 27;
param m := 4 ;
param n := 6 ;
param: a:=
warehouseone 15
warehousetwo 25
warehousethree 40
warehousefour 70;
param: b :=
warehouseone 10
warehousetwo 5
warehousethree 7
warehousefour 4;
param: d :=
storeone 45
storetwo 120
storethree 165
storefour 214
storefive 64
storesix 93;
根据我对其工作原理的理解,您可以将事物从一种映射到另一种。这对我来说似乎没问题,但是当我运行它时。
pyomo solve --solver=glpk transport.py data.dat
[ 0.00] Setting up Pyomo environment
[ 0.00] Applying Pyomo preprocessing actions
2 Set Declarations
amounts_index : Dim=0, Dimen=2, Size=0, Domain=None, Ordered=True, Bounds=None
Virtual
cost_index : Dim=0, Dimen=2, Size=0, Domain=None, Ordered=True, Bounds=None
Virtual
2 RangeSet Declarations
stores : Dim=0, Dimen=1, Size=0, Domain=None, Ordered=True, Bounds=None
Not constructed
warehouses : Dim=0, Dimen=1, Size=0, Domain=None, Ordered=True, Bounds=None
Not constructed
6 Param Declarations
a : Size=0, Index=warehouses, Domain=Any, Default=None, Mutable=False
Not constructed
b : Size=0, Index=warehouses, Domain=Any, Default=None, Mutable=False
Not constructed
cost : Size=0, Index=cost_index, Domain=Any, Default=None, Mutable=False
Not constructed
d : Size=0, Index=stores, Domain=Any, Default=None, Mutable=False
Not constructed
m : Size=1, Index=None, Domain=NonNegativeIntegers, Default=None, Mutable=False
Not constructed
n : Size=1, Index=None, Domain=NonNegativeIntegers, Default=None, Mutable=False
Not constructed
1 Var Declarations
amounts : Size=0, Index=amounts_index
Not constructed
11 Declarations: m n warehouses stores cost_index cost a b d amounts_index amounts
WARNING: Implicitly replacing the Component attribute cost (type=<class 'pyomo.core.base.param.IndexedParam'>) on block unknown with a new Component (type=<class 'pyomo.core.base.objective.SimpleObjective'>).
This is usually indicative of a modelling error.
To avoid this warning, use block.del_component() and block.add_component().
[ 0.01] Creating model
ERROR: Constructing component 'a' from data={'warehousefour': 70, 'warehouseone': 15, 'warehousethree': 40, 'warehousetwo': 25} failed:
RuntimeError: Failed to set value for param=a, index=warehousefour, value=70.
source error message="Error setting parameter value: Index 'warehousefour' is not valid for array Param 'a'"
[ 0.02] Pyomo Finished
ERROR: Unexpected exception while running model:
Failed to set value for param=a, index=warehousefour, value=70.
source error message="Error setting parameter value: Index 'warehousefour' is not valid for array Param 'a'"
我觉得dat文件没有被正确读取,但是当我查看其他示例时,这就是它的完成方式,所以我有点困惑。
最佳答案
您的代码中存在几个问题,从拼写错误到错误的 pyomo 使用。以下是固定版本。如果它适合您并且您有更具体的问题,请为此发布新问题。
文件diet.py
:
from pyomo.environ import *
#pyomo solve --solver=glpk diet.py diet.dat
model = AbstractModel()
# Foodss
model.warehouses = Set()
model.stores = Set()
model.a = Param(model.warehouses)
model.b = Param(model.warehouses)
model.d = Param(model.stores)
model.cost = Param(model.warehouses, model.stores)
model.amounts = Var(model.warehouses, model.stores, within = NonNegativeIntegers)
model.pprint()
# Minimize the cost of food that is consumed
def cost_rule(model):
return sum(
model.cost[n,i] * model.amounts[n,i]
for n in model.warehouses
for i in model.stores
)
model.costObjective = Objective(rule=cost_rule)
def minDemandRule(model, store):
return sum(model.a[i]*model.amounts[i, store] for i in model.warehouses) >= model.d[store]
model.demandConstraint = Constraint(model.stores, rule=minDemandRule)
# Limit the volume of food consumed
def maxSupplyRule(model, warehouse):
return sum(model.amounts[warehouse,j] for j in model.stores) <= model.b[warehouse]
model.supplyConstraint = Constraint(model.warehouses, rule=maxSupplyRule)
文件diet.dat
:
param: warehouses:
a b :=
warehouseone 15 10
warehousetwo 25 5
warehousethree 40 7
warehousefour 70 4;
param: stores:
d :=
storeone 45
storetwo 120
storethree 165
storefour 214
storefive 64
storesix 93;
param cost:
storeone storetwo storethree storefour storefive storesix :=
warehouseone 23 12 34 25 27 16
warehousetwo 29 24 43 35 28 19
warehousethree 43 31 52 36 30 21
warehousefour 54 36 54 46 34 27;
示例运行(请注意,我在这里使用 CLP 求解器,但不是主要的):
$ pyomo solve --solver=clp test.py test.dat
[ 0.00] Setting up Pyomo environment
[ 0.00] Applying Pyomo preprocessing actions
4 Set Declarations
amounts_index : Dim=0, Dimen=2, Size=0, Domain=None, Ordered=False, Bounds=None
Virtual
cost_index : Dim=0, Dimen=2, Size=0, Domain=None, Ordered=False, Bounds=None
Virtual
stores : Dim=0, Dimen=1, Size=0, Domain=None, Ordered=False, Bounds=None
Not constructed
warehouses : Dim=0, Dimen=1, Size=0, Domain=None, Ordered=False, Bounds=None
Not constructed
4 Param Declarations
a : Size=0, Index=warehouses, Domain=Any, Default=None, Mutable=False
Not constructed
b : Size=0, Index=warehouses, Domain=Any, Default=None, Mutable=False
Not constructed
cost : Size=0, Index=cost_index, Domain=Any, Default=None, Mutable=False
Not constructed
d : Size=0, Index=stores, Domain=Any, Default=None, Mutable=False
Not constructed
1 Var Declarations
amounts : Size=0, Index=amounts_index
Not constructed
9 Declarations: warehouses stores a b d cost_index cost amounts_index amounts
[ 0.00] Creating model
[ 0.02] Applying solver
[ 0.03] Processing results
Number of solutions: 1
Solution Information
Gap: None
Status: optimal
Function Value: 532.113571429
Solver results file: results.json
[ 0.04] Applying Pyomo postprocessing actions
[ 0.04] Pyomo Finished
$
关于python - 获取空模型 pyomo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47086708/
我已经为使用 JGroups 编写了简单的测试。有两个像这样的简单应用程序 import org.jgroups.*; import org.jgroups.conf.ConfiguratorFact
我有一个通过 ajax 检索的 json 编码数据集。我尝试检索的一些数据点将返回 null 或空。 但是,我不希望将那些 null 或空值显示给最终用户,或传递给其他函数。 我现在正在做的是检查
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Why does one often see “null != variable” instead of “
嗨在我们公司,他们遵循与空值进行比较的严格规则。当我编码 if(variable!=null) 在代码审查中,我收到了对此的评论,将其更改为 if(null!=variable)。上面的代码对性能有影
我正在尝试使用 native Cordova QR 扫描仪插件编译项目,但是我不断收到此错误。据我了解,这是代码编写方式的问题,它向构造函数发送了错误的值,或者根本就没有找到构造函数。那么我该如何解决
我在装有 Java 1.8 的 Windows 10 上使用 Apache Nutch 1.14。我已按照 https://wiki.apache.org/nutch/NutchTutorial 中提
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: what is “=null” and “ IS NULL” Is there any difference bet
Three-EyedRaven 内网渗透初期,我们都希望可以豪无遗漏的尽最大可能打开目标内网攻击面,故,设计该工具的初衷是解决某些工具内网探测速率慢、运行卡死、服务爆破误报率高以及socks流
我想在Scala中像在Java中那样做: public void recv(String from) { recv(from, null); } public void recv(String
我正在尝试从一组图像补丁中创建一个密码本。我已将图像(Caltech 101)分成20 X 20图像块。我想为每个补丁创建一个SIFT描述符。但是对于某些图像补丁,它不返回任何描述符/关键点。我尝试使
我在验证器类中自动连接的两个服务有问题。这些服务工作正常,因为在我的 Controller 中是自动连接的。我有一个 applicationContext.xml 文件和 MyApp-servlet.
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭10 年前。 问题必须表现出对要解决的问题的最低程度的了解。告诉我们您尝试过做什么,为什么不起作用,以
大家好,我正在对数据库进行正常的选择,但是 mysql_num_rowsis 为空,我不知道为什么,我有 7 行选择。 如果您发现问题,请告诉我。 真的谢谢。 代码如下: function get_b
我想以以下格式创建一个字符串:id[]=%@&stringdata[]=%@&id[]=%@&stringdata[]=%@&id[]=%@&stringdata[]=%@&等,在for循环中,我得到
我正在尝试使用以下代码将URL转换为字符串: NSURL *urlOfOpenedFile = _service.myURLRequest.URL; NSString *fileThatWasOpen
我正在尝试将NSNumber传递到正在工作的UInt32中。然后,我试图将UInt32填充到NSData对象中。但是,这在这里变得有些时髦... 当我尝试将NSData对象中的内容写成它返回的字符串(
我正在进行身份验证并收到空 cookie。我想存储这个 cookie,但服务器没有返回给我 cookie。但响应代码是 200 ok。 httpConn.setRequestProperty(
我认为 Button bTutorial1 = (Button) findViewById(R.layout.tutorial1); bTutorial1.setOnClickListener
我的 Controller 中有这样的东西: model.attribute("hiringManagerMap",hiringManagerMap); 我正在访问此 hiringManagerMap
我想知道如何以正确的方式清空列表。在 div 中有一个列表然后清空 div 或列表更好吗? 我知道这是一个蹩脚的问题,但请帮助我理解这个 empty() 函数:) 案例)如果我运行这个脚本会发生什么:
我是一名优秀的程序员,十分优秀!