ForewordRU

From OpenOpt

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

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

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

Математически процентов 90 из них сводится к одному-двум десяткам основных классов, таких как LP, QP, NLP, MILP и тд. Вот, например, так представляют это сотрудники NEOS.

Программное обеспечение для решения задач численной оптимизации стоит тысячи, а иногда и десятки тысяч долларов (пример).

Кроме того, примерно 10% в год приходится тратить на обновление программных библиотек.

В последнее время, в основном благодаря спонсорской поддержке со стороны различных фондов, руководств университетов, отдельных корпораций (IBM), появилось большое количество конкурентоспособного бесплатного программного обеспечения. Однако, практически все более-менее известные программные пакеты, связанные с численной оптимизацией, как платные так и бесплатные, разрабатываются в США или западной Европе (Германия, Англия), поэтому техническая поддержка очень дорогая. Кроме того, большинство бесплатных пакетов имеют лицензию GPL/LGPL, содержащее ограничение copyleft, затрудняющее внедрение в программное обеспечение с закрытым или другим несвободным кодом.

Украинское бесплатное ПО OpenOpt, кроме нескольких собственных решателей, включает и интерфейсы к ряду других (также бесплатных), многие из которых написаны на С/Fortran (кстати, для матриц и операций над ними OpenOpt использует numpy который написан на С и также имеет лицензию BSD). Некоторые из решателей могут получить большое ускорение с помощью openopt синтаксиса именованных переменных (см. пример 5-кратного ускорения). Про популярность OpenOpt свидетельствует уже хотя бы посещаемость сайта – в начале (сентябрь 2007) 10..12 человек/день, сейчас (январь 2009) 50-70 (по будням), в основном из США и Западной Европы (в СНГ пока предпочитают использовать нелицензионный MATLAB).

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

Смотрите также

  • Python для разработки научно-инженерного ПО (моя точка зрения, на английском)
  • Другое научное ПО на языке программирования Python ,
  • Website украинских программистов Python
  • Сторінка OpenOpt на wikipedia.org
  • Ця сторінка українською мовою
Personal tools
    Latest Release (0.24)
    Development
    Misc