Ошибка IBM CPLEX Ilog: «Размер диапазона Excel - это не размер массива» - PullRequest
0 голосов
/ 04 ноября 2018

Я подключаюсь к Excel для решения проблемы. Я использовал тот же файл .mod для решения проблемы с 27 строками данных Excel. Сейчас я пытаюсь с Excel из 366 строк данных. Я получаю сообщение об ошибке «Размер диапазона Excel - это не размер массива» для одного из данных (значений), тогда как с другими данными, такими как блоки, все в порядке. Я не вижу причины для этого. Может кто-нибудь, пожалуйста, скажите мне, что может быть причиной этого. Файл данных находится ниже:

SheetConnection sheet("Pit113_Reserves_by_block.xlsx");

BlocksType from SheetRead(sheet,"Data!A2:D367");
Blocks from SheetRead(sheet,"Data!A2:A367");
TimePeriods from SheetRead(sheet,"Data!O2:O6");

value from SheetRead(sheet,"Data!H2:H367");
oreTons from SheetRead(sheet,"Data!F2:F367");
wasteTons from SheetRead(sheet,"Data!G2:G367");

resourceMaxCap from SheetRead(sheet,"Data!P2:P6");
processMinCap from SheetRead(sheet,"Data!Q2:Q6");

schedule to SheetWrite(sheet,"Data!I2:M367");

Ниже приведена часть описания файла мода:

    {int} TimePeriods =...;

{int} Blocks =...;



float value[Blocks] = ...;
float oreTons[Blocks] = ...;
float wasteTons[Blocks] = ...;
float resourceMaxCap[TimePeriods] =...;
float processMinCap[TimePeriods] =...;

1 Ответ

0 голосов
/ 04 ноября 2018

Спасибо. Я разобрался в проблеме. Значение Blocks, которое я использовал, не было непрерывным серийным номером. Я использовал некоторую логику, чтобы идентифицировать блок по прерывистому номеру в зависимости от его местоположения. Я изменил его в непрерывное число, и теперь оно работает. Спасибо, что заглянули в это.

...