使用 .NET 从 MS Access 数据库导入的 ILOG OPL 中初始化元组
Initializing tuples in ILOG OPL imported form a MS Access Database using .NET
我正在使用此处介绍的 .NET 解决方案将 MS Access 数据库连接到 OPL model:
https://github.com/IBMDecisionOptimization/OPL-.net-custom-data-source
这工作正常,我通过 SQL 从我的数据库中获取所有数据。但是我正在努力初始化元组。
我的 SQL 语句如下所示:
PName SELECT tblProdukte.PName FROM tblProdukte;
tName SELECT tblMaP.tName FROM tblMaP;
Demands SELECT tblProdukte.PName, tblMaP.tName, tblDemand.demDemand
FROM tblProdukte INNER JOIN (tblMaP INNER JOIN tblDemand ON tblMaP.tID =
tblDemand.demTID) ON tblProdukte.pID = tblDemand.demPID
WHERE (((tblMaP.tName)>0));
在 .mod 文件中,我调用数据如下:
{string} PName =...;
{int} tName =...;
tuple DemandType{
string PName;
int tName;
int demDemand;
};
{DemandType} Demands=...;
这个解决方案有效。但我真正想要实现的是
float Demands [PName][tName] =...;
我尝试了几种不同的方法,包括 oil Example 和 IBM 提供的 Transportation Problem。
我怎样才能以这种方式实现索引?
提前致谢!
由于您已经有一些东西可以获取所需的数据,因此一种选择是仅转换此数据。例如,您可以这样写:
float DemandsAsTable[p in PName][t in tName] = sum(d in Demands : d.PName == p && d.tName == t) d.demDemand;
(请注意,每笔总和恰好是一项)。
我正在使用此处介绍的 .NET 解决方案将 MS Access 数据库连接到 OPL model:
https://github.com/IBMDecisionOptimization/OPL-.net-custom-data-source
这工作正常,我通过 SQL 从我的数据库中获取所有数据。但是我正在努力初始化元组。 我的 SQL 语句如下所示:
PName SELECT tblProdukte.PName FROM tblProdukte;
tName SELECT tblMaP.tName FROM tblMaP;
Demands SELECT tblProdukte.PName, tblMaP.tName, tblDemand.demDemand
FROM tblProdukte INNER JOIN (tblMaP INNER JOIN tblDemand ON tblMaP.tID =
tblDemand.demTID) ON tblProdukte.pID = tblDemand.demPID
WHERE (((tblMaP.tName)>0));
在 .mod 文件中,我调用数据如下:
{string} PName =...;
{int} tName =...;
tuple DemandType{
string PName;
int tName;
int demDemand;
};
{DemandType} Demands=...;
这个解决方案有效。但我真正想要实现的是
float Demands [PName][tName] =...;
我尝试了几种不同的方法,包括 oil Example 和 IBM 提供的 Transportation Problem。 我怎样才能以这种方式实现索引?
提前致谢!
由于您已经有一些东西可以获取所需的数据,因此一种选择是仅转换此数据。例如,您可以这样写:
float DemandsAsTable[p in PName][t in tName] = sum(d in Demands : d.PName == p && d.tName == t) d.demDemand;
(请注意,每笔总和恰好是一项)。