Як обрати PowerSim 8 Academic і PowerSim 8 Academic SDK
Вітаю всіх, хто читає цю статтю. Якщо ви відкрили цю сторінку, то вас, найпевніше, цікавить практична інформація про PowerSim 8. Добре вас розумію: сам колись був у такій самій ситуації, і, на жаль, пошук в інтернеті не давав тих результатів, на які я сподівався.
Отже, до справи. Науково-дослідний інститут, у якому я працюю, придбав PowerSim 8 SDK, щоб розробляти й тестувати різні економічні моделі в динаміці.
Зізнаюся, раніше ми працювали з PowerSim 2.5, і нас усе влаштовувало. Та згодом ми побудували модель такого масштабу, що версія 2.5 видала помилку про перевищення допустимої кількості змінних. Хитрими маніпуляціями з dll (не обійшлося без бубна) обмеження на кількість змінних ми таки зняли. І не встигли економісти нарадуватися з такого дива, як PowerSim невдовзі почав глючити. Будуєш собі модель — і в якийсь момент вилітає помилка пам’яті, а середовище закривається (звісно, без збереження). Ясна річ, так працювати було неможливо.
І ось одного дня нам виділили фінансування на купівлю ліцензійного PowerSim 8. Грошей, звісно, дали обмежену суму, тож і вибір довелося обмежити.
Вивчивши опис на сайті PowerSim.com, ми зупинилися на академічній версії продукту разом з академічним SDK. Ось тут і починається найцікавіше!
Увага! Коли обираєш академічну ліцензію, на сайті бачиш таку таблицю (дані станом на 14.10.2011):
Prices for Studio 8 Academic products
| Licencetype |
Number oflicenses | AcademicStandard | Add-onFeature Pack | Standard withFeature Pack |
| Single User | 1 license | Euro 186,- | Euro 117,- | Euro 303,- |
| Bundle | 32 licenses | Euro 1.225,- | Euro 671,- | Euro 1.896,- |
| Student PC-Pack | From 16 licenses | From Euro 408,- | From Euro 223,- | From Euro 631,- |
| SDK | 1 license | Euro 1.190,- | Euro 653,- | Euro 1.843,- |
Здавалося б, простіше нікуди. Ми обрали для себе таке: Academic Standard Bundle + SDK. І це була наша фатальна помилка!
Річ у тім, що до цієї конфігурації не входить пакет доповнень FeaturePack.
А без доповнень ви отримуєте максимально урізану версію PowerSim, у якій бракує більшості зручних функцій (зокрема й математичних).
Наприклад, маємо формулу: (TotalOborot-TotalOborotReal)
У TotalOborot зберігається діапазон значень. Власне, його можна було б задати вручну ось так: ({0.1,0.5,0.9}-{0.444,2.33,2}) — і все було б добре, якби модель трималася на кількох змінних.
А тепер уявіть модель, у якій понад 2000 змінних (саме така модель у нас). Причому діапазони значень має задавати користувач. Для таких задач у PowerSim є функція XLDATA(“file.xls”;”SheetName”;”A1:A10″) — вона витягає дані з файлу xls або xlsx.
І здавалося б, усе мало б чудово працювати, якщо записати формулу: (XLDATA(“file.xls”;”SheetName”;”A1:A10″)-XLDATA(“file.xls”;”SheetName”;”B1:B10″)). Але натомість з’являється помилка: ‘XLData’ cannot be used in composite expressions. Тобто вкладати функції не можна.
Рятує тут функція XLRANGE(), яку вкладати можна, АЛЕ ВОНА ВХОДИТЬ ДО ПОСТАВКИ FeaturePack 3. Скористатися нею ми не могли, бо FeaturePack не купували. Але діватися було нікуди: довелося викручуватися й створювати додаткові Auxiliary, у яких прописували функцію xldata();. А далі використовували ці Auxiliary з даними як звичайні змінні. У підсумку головна формула набувала вигляду (TotalOborot-TotalOborotReal).
Такий підхід працює, але “роздуває” кількість змінних у n-ний степінь.
Висновок: не скупіться й купуйте PowerSim Academic Standard with Feature Pack.
Тепер щодо PowerSim 8 Academic SDK.
Відповім на запитання, яке сам собі ставив до купівлі: “А що вміє цей SDK?”. Інформації виявилося вкрай мало — і на офіційному сайті, і в інтернеті загалом.
Особливо мене хвилювало, чи можна створити модель без візуального редактора. Тобто програмно згенерувати файл моделі й мати змогу редагувати наявний.
Так ось: такої функціональності SDK не дає!
Через SDK можна працювати з моделлю на рівні читання даних. Можна також звертатися до ядра PowerSim, щоб порахувати задані дані, а от вносити зміни до самої моделі (наприклад, змінити формулу), НЕМОЖЛИВО!.
Принаймні в мене це не вийшло. Якщо ж комусь це вдалося — напишіть, будь ласка, яким чином.