ForewordUA

From OpenOpt

Jump to: navigation, search
Передмова до проекту OpenOpt
Інститут кібернетики ім. Глушкова НАН України, м. Київ

Задачі чисельної оптимизації виникають майже усюди - у физиці, економіці, хімії, біології тощо. Наприклад:

  • мінімізація затрат палива літаків, вертольотів, автотранспорту
  • максимізація прибутку крамниці
  • максимізація росту садженців сільськогосподарских культур
  • мінімізація загальноі довжини шляхів (авто-, з/д- транспорт, інтернет-мережі)
при усіяких умовах та обмеженнях, наприклад
  • мінімальна та максимальна швидкість
  • оборотні кошти, ризик на банкрутство, площа вітрин
  • освітлення, водопостачання та пов'язані з ними фінансові затрати
  • пропускна здатність ланок та вузлiв мережі.

Математично відсотків 90..95 з них зводиться до одного-двох десятків головних класів, таких як LP, QP, NLP, MILP і таке інше. Ось, наприклад, так зображують це співробітники NEOS.


Програмне забеспечення для розв'язування задач оптимiзації коштує тисячі, а iнколи й десяткі тисяч долларів (приклад, ще один)

Окрім того, приблизно 10% на рік доводиться витрачати на оновлення програмних біблиотек.

Останнім часом за спонсорської підтримки рiзноманітних фондів, керівницьтв університетів, окремих корпорацій (IBM), з'явилась велика кількість конкурентноспроможнього безкоштовного програмного забеспечення для розв'язування задач чисельної оптимізації. Але майже усі більш-меньш відомі програмні пакети, пов'язані з чисельною оптимізацією, як коштовні так і безкоштовні, розробляються у США або у державах Західної Європі (Німеччина, Англія), тому технічна підтримка користувачів дуже коштовна. Окрім того, більшість безкоштовних бібліотек мають лицензію GPL/LGPL, що має обмеження copyleft, яке забороняє використовувати його у програмному забеспеченні з закритим або іншим кодом, який не є вільним.

Наше вільне ПЗ OpenOpt має декілька власних вирішувачів (наприклад ralg, interalg, gsubg) та багато інтерфейсів до інших (юільшою частиною бескоштовних), деякі з котрих написані на С та Fortran (доречі, для матриць та операцій над ними OpenOpt використовує NumPy, що написан на С (останні версії використовують дещо з MKL/ACML) та також має ліцензію BSD). Додаткові можливості RAD може надати використання FuncDesigner, особливо автоматичне дифференціювання для нелінійних задач. Про популярність OpenOpt свідчить також і кількість відвідувачів сайту – на початку вересня (2007) 10..12 людин/добу, наразі (вересень 2010) 120-150 (у будні), більшою частиною з США та Західної Европи (у СНД зараз надаюсь перевагу неліцензійному MATLAB); ~15% з них заходять на сторінку інсталляції, багато інших встановлюють наше ПЗ з PYPI, mloss.org, pythonxy.com, репозитаріїв Debian, Alt Linux, SAGE, mac.softpedia.com і т.і.

Якщо виникає така потреба, підключення С/С++/Fortran коду до Python набагато легше ніж, наприклад, застосування MATLAB MEX-функцій. На думку багатьох експертів, розробка ПЗ на Python швидша за Fortran у 2 рази (до того ж, потребує набагато меньше коду, що робить його більш читабельним); треба зазначити, що це не лише людино-години програмістів, але й плата іншим співробітникам, за аренду приміщень і таке інше. Тому зовсім не дивно, що на викладання Python вже перейшов навіть MIT (провідний технічний ВНЗ США), і навіть українські студенти вже використовують його у своїх лабораторних роботах: факультет кібернетики КНУ, Львівська Політехніка, Киівський Політехнічний Інститут, Національний педагогічний університет Драгоманова, Криворізький державний педагогічний університет, та деякі інші.

Made by Dmitrey


Дивіться також

  • Деякі користувачі нашого програмного заonбеспечення
  • Деякі цитати великих корпорацій щодо мови Python
  • Інше наукове ПЗ мовою програмування Python ,
  • Website українських програмістів Python
  • Сторінка OpenOpt на wikipedia.org
  • Ця сторінка російською мовою
Personal tools
    Latest OOSuite 0.36