Home About Documentation Install Newsline Links Feedback Appeal Guestbook
since 2007/10/24
ця сторінка українською мовою
Эта страница устарела, обновленная находится на www.openopt.org/ForewordRU
О проекте OpenOpt
Інститут кібернетики ім. Глушкова НАН України, м. Київ

Задачи численной оптимизации возникают практически везде - в физике, экономике, химии, биологии и тд.
Например:
- минимизация расхода топлива самолетов, вертолетов, автотранспорта
- максимизация прибыли магазина
- максимизация роста саженцев сельскохозяйственных культур в теплицах
- минимизация прокладки путей сообщений (авто-, ж/д- транспорт, интернет-сети)
при всевозможных ограничениях, например
- минимальная и максимальная скорость
- оборотные средства, риск на разорение, объем витрин
- освещенность, водоснабжение и финансовые расходы на них
- пропускная способность ветвей и узлов сети.
Математически процентов 90 из них сводится к одному-двум десяткам основных классов, таких как LP, QP, NLP, MILP и тд.
Вот, например, как графически представляют это сотрудники NEOS.
Программное обеспечение для решения задач численной оптимизации стоит тысячи, а иногда и десятки тысяч долларов (пример).
Кроме того, примерно 10% в год приходится тратить на обновление программных библиотек.
В последнее время, в основном благодаря спонсорской поддержке со стороны различных фондов, руководств университетов, отдельных корпораций (IBM), появилось большое количество конкурентоспособного бесплатного программного обеспечения.
Однако, практически все более-менее известные программные пакеты, связанные с численной оптимизацией, как платные так и бесплатные, разрабатываются в США или западной Европе (Германия, Англия), поэтому техническая поддержка очень дорогая. Кроме того, большинство бесплатных пакетов имеют лицензию GPL/LGPL, содержащее ограничение copyleft, затрудняющее внедрение в программное обеспечение с закрытым или другим несвободным кодом.
Украинское бесплатное ПО OpenOpt, кроме нескольких собственных решателей, включает и интерфейсы к ряду других (также бесплатных), многие из которых написаны на С/Fortran (кстати, для матриц и операций над ними OpenOpt использует numpy который написан на С и также имеет лицензию BSD).
О его популярности свидетельствует уже хотя бы посещаемость сайта – в начале сентября 10..12 человек/день, сейчас (начало декабря) 35..50, в основном из США и Западной Европы (в СНГ пока предпочитают использовать нелицензионный MATLAB).
Если возникает такая необходимость, подключение С/С++/Fortran кода к Python намного проще чем, например, применение MATLAB MEX-функций. Как отмечают многие эксперты, разработка ПО на Python примерно в 2 раза быстрее чем Fortran; следует отметить что это не только человеко-часы программистов, но и плата другим сотрудникам, за аренду помещений и тд.
Некоторые из решателей могут получить большре ускорение с помощью openopt oofun (посмотрите на пример 10-кратного ускорения)
See also
Другое научное ПО на языке программирования Python
website украинских программистов Python
OpenOpt homepage
