sitemeter UAflag

    Home    About    Documentation    Install    Newsline    Links    Feedback    Appeal    Guestbook

truzyb
html hit
counter
since 2007/10/24

ця сторінка українською мовою

Эта страница устарела, обновленная находится на www.openopt.org/ForewordRU


О проекте OpenOpt

Інститут кібернетики ім. Глушкова НАН України, м. Київ

icyb

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

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

при всевозможных ограничениях, например

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

Математически процентов 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