Введение 4
1 Обзор существующих методов решения задачи линейного
программирования 5
1.1 Общая характеристика задачи целочисленного и частично
целочисленного линейного программирования 5
1.1.1 Математическая модель задачи целочисленного и частично
целочисленного линейного программирования 5
1.2 Методы решения задачи целочисленного и частично целочисленного
линейного программирования 6
1.2.1 Метод ветвей и границ 7
1.2.2 Метод Гомори 15
2 Реализация алгоритмов для решения целочисленных и частично-целочисленных задач линейного программирования 25
2.1 Структура реализованной программы 25
2.2 Реализация метода ветвей и границ 26
2.3 Пользовательский графический интерфейс приложения 36
3 Сравнительный анализ реализаций 42
3.1 Технические данные для сравнительного анализа 42
3.2 Метод ветвей и границ 42
3.3 Сравнение графиков однопоточной и параллельной реализации
алгоритма ветвей и границ 45
3.4 Метод Гомори 47
3.5 Сравнение графиков однопоточной и параллельной реализации
алгоритма Гомори 50
3.6 Сравнение параллельной реализации алгоритма ветвей и границ и
алгоритма Гомори 52
4 Моделирование данных 54
4.1 Описание математической модели 54
4.2 Применение алгоритма ветвей и границ полученной модели 65
4.3 Применение алгоритма Гомори полученной модели 66
4.4 Сравнительный анализ алгоритмов 67
Заключение 69
Список используемой литературы и используемых источников 70
Приложение А Листинг программы 73
Приложение Б Листинг пользовательского интерфейса
Линейное программирование (ЛП) посвящено методам решения экстремальных задач. Данные задачи основаны на нахождении минимального и максимального значений функции на множествах -мерного векторного пространства.
Актуальность. Задачи целочисленного и частично целочисленного линейного программирования на сегодняшнее время применяются в различных сферах, таких как производственное планирование, телекоммуникационные сети, сотовая сеть.
Объект исследования - задачи целочисленного и частично целочисленного линейного программирования.
Предмет исследования - методы решения задач целочисленного и частично целочисленного линейного программирования.
Цель исследования - анализ методов решения задач целочисленного и частично целочисленного линейного программирования и реализация рассмотренных алгоритмов и их модификаций.
Для достижения цели будут решены следующие задачи:
- исследовать методы решения задач целочисленного и частично целочисленного линейного программирования;
- создать программную реализацию алгоритмов рассмотренных методов на языке программирования Python;
- провести сравнительный анализ результатов работы программы;
- провести сравнительный анализ на модели приближенной к реальным данным.
Магистерская диссертационная работа включает в себя введение, четыре раздела, заключение, список использованной литературы и два приложения. Данная диссертация представлена на 101 странице, содержит 35 рисунков, 27 таблиц, 62 формулы, 31 использованных литературных источников.
В ходе выполнения магистерской диссертационной работы были решены следующие задачи:
- исследованы методы решения целочисленного и частично целочисленного задач линейного программирования;
- реализован однопоточный алгоритм ветвей и границ для
целочисленных и частично-целочисленных задач линейного программирования на языке программирования Python;
- реализован параллельный алгоритм ветвей и границ для
целочисленных и частично-целочисленных задач линейного программирования на языке программирования Python;
- реализован однопоточный алгоритм Гомори для целочисленных и частично-целочисленных задач линейного программирования на языке программирования Python;
- реализован параллельный алгоритм Гомори для целочисленных и частично-целочисленных задач линейного программирования на языке программирования Python;
- разработан пользовательский графический интерфейс.
- проведен сравнительный анализ на модели приближенной к реальным данным.
При помощи сравнительного анализа было выявлено, что на сухих данных и с использованием модели, предложенной Т. Кокиасара, стоит выбирать метод Гомори, так как он намного превосходит метод ветвей и границ по времени работы программного кода.
1. Богданова Е.Л. Оптимизация в проектном менеджменте: линейное программирование: учебное пособие / Е.Л. Богданова, К.А. Соловейчик, К.Г. Аркина. - СПб.: Университет ИТМО, 2017. - 165 с.
2. Метод ветвей и границ [Электронный ресурс:] - Режим доступа: http: //www.math.nsc. ru/AP/benchmarks/UFLP/uflp_bb.html
3. Решение задачи целочисленного программирования графическим методом и методом Гомори [Электронный ресурс:] - Режим доступа: http s: //www. matburo .ru/Examples/Files/LP_Num7 .pdf
4. Решение задачи целочисленного программирования методом ветвей и границ [Электронный ресурс:] - Режим доступа: https://www.matburo.ru /Examples/Files/LP_Num5 .pdf
5. Сизова С.А. Линейное программирование как область математического программирования при решении экономических задач / С.А. Сизова, В.Ю. Мурдугова, С.В. Мелешко // Старвопольский Государственный аграрный университет, статья в журнале - научная статья, №6(2), 2013, 16-20 с.
6. Шевченко В. Н. Линейное и целочисленное линейное программирование / В. Н. Шевченко, Н. Ю. Золотых, 2009, 154 с.
7. Экономико-математические методы [Электронный ресурс:] - Режим доступа:http ://www. math. mrsu. ru/text/courses/method/post_zad 1. htm
8. Юхименко Б.И. Модификации метода ветвей и границ для решения задач целочисленного линейного программирования и их эффекктивность / Б.И. Юхименко. - Украина, 1нформатика та математичн методи в моделюванш, Том 5, №1, 2015. - 84-91 с.
9. Algorithms for Integer Programming [Электронный ресурс:] - Режим доступа:http://groups.di.unipi.it/optimize/Courses/RO2IG/aa1415/IP_algorithms.pdf
10. Approximation Algorithms using ILP [Электронный ресурс:] - Режим доступа: https: //www. isical.ac. in/~arij it/courses/autumn2016/ILP-Approximation- Lecture-1.pdf
11. Branch and cut [Электронный ресурс:] - Режим доступа: https: //en. wikipedia. org/wiki/Branch_and_cut
12. Bruno, J.E., Using linear programming salary evaluation models in collective bargaining negotiations with teacher unions. Socio Economic Planning Sciences // 1969, №3 (2). p. 103-117.
13. Castillo E. Mixed-Integer Linear Programming // E. Castillo, A.J. Conejo, P. Pedregal, R. Garcia, N. Alguacil. - John Wiley and Sons, Inc, 2002.
14. Cokyasar Т. A mixed integer linear programming approach for developing salary administration systems // University of Tennessee. - 2016. Taner Cokyasar
15. Cutting Plane Method [Электронный ресурс:] - Режим доступа: https: //www. math. cuhk. edu.hk/course_builder/1415/math3220/L 5. pdf
16. Fabozzi, F.J. and A.W. Bachner, Mathematical programming models to determine civil service salaries // European Journal of Operational Research, 1979. №3(3). p. 190-198.
17. Integer Programming the Branch and Bound method [Электронный ресурс:] - Режим доступа:http://web.tecnico.ulisboa.pt/mcasquilho/compute/_lin pro/T aylorB_module_c.pdf
18. Jozsef Abaffy. Solving Integer and Mixed Integer Linear Problems with ABS Method // Obuda University, 2016.
19. Land, A.H. An automatic of solving discreate programming problems / A.H. Land, A.G. Doig // Econometrica. 1960. Vol. 28, №3. p. 497-520.
20. Larrosa J. Mixed integer linear programming // J. Larrosa, A. Oliveras, E. Rodriguez-Carbonell, April, 2009.
21. McCarl, B.A., Applied mathematical programming using algebraic systems/ B.A. McCarl, T.H. Spreen // Cambridge, MA, 1997.
22. Mixed Integer Linear Programming [Электронный ресурс:] - Режим доступа: https://www.cs.upc.edu/~erodri/webpage/cps/theory/lp/milp/slides.pdf
23. Mixed-Integer Programming (MIP) - A Primer on the Basics [Электронный ресурс:] - Режим доступа: https://www.gurobi.com/resource/mip- basics/
24. Robert E. Bixby. A brief history of linear and mixed-integer programming computation // Extra Volume ISMP. - 2012. p. 107-121.
25. So Han Florence Yip. A Mixed-Integer Linear Programming Model for Disaster Housing Supply Chain Design and Optimization // Mechanical Engineering, University of Rochester. - 2017.
26. Survey A. Linear Integer Programming Methods and Approaches // Bulgarian Academy of sciences. - 2016.
27. Traveling-salesman-problem [Электронный ресурс:] - Режим доступа: http://examples.gurobi.com/traveling-salesman-problem/#demo
28. Winston, W.L. Operations research: applications and algorithms // Duxbury press Belmont, CA, №3. 2014
29. Williams, H Paul. Model Building in Mathematical Programming // John Wiley & Sons, 2013.
30. Xioxia L. Mixed integer linear programming in process scheduling: modeling, algorithms, and applications // Springer Science. - 2005.
31. Zhang X. P., Restructured electric power systems: analysis of electricity markets with equilibrium models // John Wiley & Sons, 2016, vol. 71.