Оптимизация. Создание программного продукта для решения задач оптимизации (проект)
Ментор | Гена Федин |
Учебный семестр | Осень 2017 |
Учебный курс | 2-й курс |
Максимальное количество студентов, выбравших проект: 4 | |
Что это за проект?
Оптимизационная задача - это задача, которая состоит в нахождении оптимального значения целевой функции, причем значения переменных должны принадлежать некоторой области допустимых значений. Теорию и методы решения задачи оптимизации изучает математическое программирование. Сейчас разработаны библиотеки, позволяющие достаточно эффективно решать задачи оптимизации (линейного программирования, смешанного программирования, квадратичного программирования), однако все они требуют значительной подготовки и изучения для использования. Цель проекта заключается в получении программного продукта с GUI упрощающего: а) формализацию задачи оптимизации, б) решение задачи при помощи одной из выбранных библиотек, в) анализ и визуализацию решения задачи.
Чему вы научитесь?
Вы научитесь формулировать задачи оптимизации и использовать различные библиотеки для их решения. Улучшите свои навыки программирования и получите опыт разработки программного продукта, использующего оптимизационные библиотеки.
Какие начальные требования?
Базовые знание Python, C++ и желание учиться.
Какие будут использоваться технологии?
Google Optimization Tools, CBC, CLP, GLOP, GLPK, Gurobi, CPLEX и SCIP. Для визуализации на выбор: wxPython, Python GTK или Qt (Python или C++).
Темы вводных занятий
Задачи оптимизации, двойственные задачи, задачи целочисленного программирования, задачи минимаксной робастной оптимизации.
Направления развития
В случае успешной реализации проекта, возможна публикация совместной научной работы, описывающей использование разработанного продукта при решении реальных задач. Кроме того, данный проект может развиться в курсовые и дипломные работы, связанные с математическим моделированием и анализом различных проблем, например, оптимизации логистики, размещение зарядных станций для электротранспорта, экономического планирования, формирования инвестиционного портфеля. Опыт, полученный в этом проекте, поможет грамотно сформулировать оптимизационную задачу для рассматриваемой проблемы и решить её при помощи разработанного программного продукта.
Критерии оценки
Оценки выставляются согласно возможностям конечного продукта:
- 4-6: имеется интерфейс для загрузки матрицы уже сформулированной задачи и выбора метода её решения,
- 7-8: добавлена возможность выбора наилучшего алгоритма для решения задачи, анализа найденного решения и изменения части параметров для задач заданного типа,
- 9-10: добавлена возможность формирования новых задач в интерфейсе программы.
Ориентировочное расписание занятий
По договоренности.
ggfedin@yandex.ru
+7(965)381-6006