在 AMPL 中输入数据
Entering data in AMPL
我有一组,例如:
set PRODUCTS := p1 p2 p3 p4 p5 ;
与此集合相关的我有一些参数,形式为:
param min_production {PRODUCTS} >= 0;
param max_production {PRODUCTS} >= 0;
我想用一种格式填充这些 param
,其中集合索引是列索引,param
名称是行索引。
像这样:
#Data p1 p2 p3 p4 p5
param min_production 20 10 20 20 30 ;
param max_production 120 110 120 120 150 ;
param min_stock_products 20 20 20 20 20 ;
param max_stock_products 100 80 80 120 120 ;
param price 6400 6000 5900 6250 6500 ;
param unit_cost 800 1000 400 500 1000 ;
param fixed_cost 1500 1500 1250 1500 1600 ;
param stock_cost_products 20 20 10 25 30 ;
param frac_demand_lost 0.4 0.4 0.4 0.4 0.4 ;
这可能吗?语法是什么?
Section 9.2 of the AMPL Book 提供了一种方法来做一些近似的事情,将索引设置为行,将参数名称设置为列。见第151、"Combined lists of sets and parameters".
格式看起来像这样:
param: min_production max_production min_stock_products max_stock_products :=
p1 20 120 20 100
p2 10 110 20 80
p3 20 120 20 80
;
据我所知,将产品保留为列索引的唯一方法是创建与您的模型参数名称匹配的第二个索引集 parameter_type,然后将 "model_parameters" 定义为参数索引在产品和 parameter_type 上。然后,您可以使用同一参考资料的 AMPL Book 9.3 中显示的方法:
param model_parameters: p1 p2 p3 p4 p5 :=
min_production 20 10 20 20 30
max_production 120 110 120 120 150
min_stock_products 20 20 20 20 20
max_stock_products 100 80 80 120 120
;
我有一组,例如:
set PRODUCTS := p1 p2 p3 p4 p5 ;
与此集合相关的我有一些参数,形式为:
param min_production {PRODUCTS} >= 0;
param max_production {PRODUCTS} >= 0;
我想用一种格式填充这些 param
,其中集合索引是列索引,param
名称是行索引。
像这样:
#Data p1 p2 p3 p4 p5
param min_production 20 10 20 20 30 ;
param max_production 120 110 120 120 150 ;
param min_stock_products 20 20 20 20 20 ;
param max_stock_products 100 80 80 120 120 ;
param price 6400 6000 5900 6250 6500 ;
param unit_cost 800 1000 400 500 1000 ;
param fixed_cost 1500 1500 1250 1500 1600 ;
param stock_cost_products 20 20 10 25 30 ;
param frac_demand_lost 0.4 0.4 0.4 0.4 0.4 ;
这可能吗?语法是什么?
Section 9.2 of the AMPL Book 提供了一种方法来做一些近似的事情,将索引设置为行,将参数名称设置为列。见第151、"Combined lists of sets and parameters".
格式看起来像这样:
param: min_production max_production min_stock_products max_stock_products :=
p1 20 120 20 100
p2 10 110 20 80
p3 20 120 20 80
;
据我所知,将产品保留为列索引的唯一方法是创建与您的模型参数名称匹配的第二个索引集 parameter_type,然后将 "model_parameters" 定义为参数索引在产品和 parameter_type 上。然后,您可以使用同一参考资料的 AMPL Book 9.3 中显示的方法:
param model_parameters: p1 p2 p3 p4 p5 :=
min_production 20 10 20 20 30
max_production 120 110 120 120 150
min_stock_products 20 20 20 20 20
max_stock_products 100 80 80 120 120
;