使用.NET初始化ILOG OPL中的元组导入MS访问数据库



我正在使用此处介绍的.NET解决方案将MS Access数据库连接到OPL模型:

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] =...;

我尝试了几种不同的方法,包括石油示例和IBM提供的运输问题。我如何以这种确切的方式实现索引?

预先感谢!

,由于您已经有一些可以获取所需数据的工作,因此只需转换此数据。例如,您可以写:

float DemandsAsTable[p in PName][t in tName] = sum(d in Demands : d.PName == p && d.tName == t) d.demDemand;

(请注意,每个总和将恰好加一个术语(。

最新更新