Я подключаю базу данных MS Access к модели OPL, используя представленное здесь решение .NET:
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.
Как я могу добиться индексации именно таким образом?
Заранее спасибо!