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