![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Симплекс метод решения задачи линейного программирования |
Задача №1 (.) Найти F max = 9x1 10x2 16x3, при ограничениях: Запишем задачу в каноническом виде: F=9x1 10x2 16x3 → max Заполним начальную таблицу: Таблица 0. 0 9 10 16 0 0 0 Отношение, & he a; i Базис 1 0 360 18 15 12 1 0 0 30 2 0 192 6 4 8 0 1 0 24 3 0 180 5 3 3 0 0 1 60 ∆j 0 -9 -10 -16 0 0 0 Zj 0 0 0 0 0 0 0 Zj вычисляется по формуле Оценки (∆j) вычисляются по формуле , где - коэффициент из первой строки таблицы. Выбираем минимальную (отрицательную) оценку. Она определяет направляющий столбец. Заполняем столбец «& he a;», по минимальному значению определяем направляющую строку. На пересечение строки и столбца находится направляющий элемент. Заполняем новую таблицу Таблица 1. 0 9 10 16 0 0 0 Отношение, & he a; i Базис 1 0 72 9 9 0 1 0 8 2 16 24 1 0 0 48 3 0 108 0 0 - 1 72 ∆j 384 3 -2 0 0 2 0 Zj 384 12 8 0 0 2 0 Изменяется базис в позиции направляющей строки. Базисным становится вектор, соответствующий направляющему столбцу, т. е. Столбец становится базисным, то есть единичным. Новые значения в направляющей строке получаем делением элементов этой строки на направляющий элемент. Остальные элементы в небазисных столбцах и в столбце вычисляем по правилу треугольника. Выбираем минимальную отрицательную оценку. Она определяет направляющий столбец. Заполняем столбец «& he a;» По минимальному значению определяем направляющую строку. На пересечении направляющей строки и столбца находится направляющий элемент. Заполнение второй таблицы осуществляется по аналогии с предыдущей. Таблица 2. 0 9 10 16 0 0 0 Отношение, & he a; i Базис 1 10 8 1 1 0 - 0 2 16 20 0 1 - 0 3 0 96 0 0 - 1 ∆j 400 5 0 0 0 Zj 400 14 10 16 0 Так как нет отрицательных оценок ∆j, значит выполняется признак оптимальности и не вводились искусственные переменные, то получено оптимальное решение. Ответ: Максимальное значение функции F max =400 достигается в точке с координатами: =0 =8 =20 =0 =0 =96 Задача №2 (Метод Литтла) Найти кратчайший путь в графе, заданном графически в виде чертежа, методом Литтла. Из чертежа запишем матрицу расстояний. (Расстояние от т.1 до т.2 равно: , и т.д.) 1 2 3 4 5 6 1 &i fi ; 18,87 49,48 51,86 80,51 97,42 2 18,87 &i fi ; 32,06 34,48 65,15 84,01 3 49,48 32,06 &i fi ; 31,76 61,19 83,20 4 51,86 34,48 31,76 &i fi ; 32,14 53,15 5 80,51 65,15 61,19 32,14 &i fi ; 22,14 6 97,42 84,01 83,20 53,15 22,14 &i fi ; Предположим что кратчайший путь будет следующим: т.1→ т.2→ т.3→ т.4→ т.5→ т.6→т.1 и составит Решение: Первый этап. Шаг 1. Приведем матрицу расстояний по строкам и столбцам (в строке вычитаем из каждого элемента минимальный, затем в столбцах) 1 2 3 4 5 6 1 &i fi ; 18,87 49,48 51,86 80,51 97,42 18,87 2 18,87 &i fi ; 32,06 34,48 65,15 84,01 18,87 3 49,48 32,06 &i fi ; 31,76 61,19 83,20 31,76 4 51,86 34,48 31,76 &i fi ; 32,14 53,15 31,76 5 80,51 65,15 61,19 32,14 &i fi ; 22,14 22,14 6 97,42 84,01 83,20 53,15 22,14 &i fi ; 22,14 ↓ 1 2 3 4 5 6 1 &i fi ; 0 30,61 32,99 61,64 78,55 2 0 &i fi ; 13,19 15,61 46,28 65,14 3 17,72 0,30 &i fi ; 0 29,43 51,44 4 20,10 2,72 0 &i fi ; 0,38 21,39 5 58,37 43,01 39,05 10,00 &i fi ; 0 6 75,28 61,87 61,06 31,01 0 &i fi ; 0 0 0 0 0 0 ↓ 1 2 3 4 5 6 1 &i fi ; 0 30,61 32,99 61,64 78,55 2 0 &i fi ; 13,19 15,61 46,28 65,14 3 17,72 0,30 &i fi ; 0 29,43 51,44 4 20,10 2,72 0 &i fi ; 0,38 21,39 5 58,37 43,01 39,05 10,00 &i fi ; 0 6 75,28 61,87 61,06 31,01 0 &i fi ; Шаг 2.
Определим оценки нулевых клеток: Шаг 3. Вычеркиваем клетку с максимальной оценкой. Включаем данную клетку в путь обхода. (5 – 6) Шаг 4. Переписываем матрицу расстояний, накладывая запрет на одну из клеток для исключения преждевременного замыкания контура (в клетку 6-5 ставим &i fi ;). 1 2 3 4 5 1 &i fi ; 0 30,61 32,99 61,64 2 0 &i fi ; 13,19 15,61 46,28 3 17,72 0,30 &i fi ; 0 29,43 4 20,10 2,72 0 &i fi ; 0,38 6 75,28 61,87 61,06 31,01 &i fi ; Далее повторяем шаги 1 – 4, пока не дойдем до одной клетки. Второй этап. Шаг 1. Приведем матрицу расстояний по строкам и столбцам. 1 2 3 4 5 1 &i fi ; 0 30,61 32,99 61,64 2 0 &i fi ; 13,19 15,61 46,28 3 17,72 0,30 &i fi ; 0 29,43 4 20,10 2,72 0 &i fi ; 0,38 6 75,28 61,87 61,06 31,01 &i fi ; 0 0 0 0 0,38 ↓ 1 2 3 4 5 1 &i fi ; 0 30,61 32,99 61,26 2 0 &i fi ; 13,19 15,61 45,90 3 17,72 0,30 &i fi ; 0 29,05 4 20,10 2,72 0 &i fi ; 0 6 75,28 61,87 61,06 31,01 &i fi ; Шаг 2. Определим оценки нулевых клеток: Шаг 3. Вычеркиваем клетку с максимальной оценкой. Включаем данную клетку в путь обхода. (1 – 2) Шаг 4. Переписываем матрицу расстояний, накладывая запрет на одну из клеток для исключения преждевременного замыкания контура (в клетку 2 – 1 ставим &i fi ;). 1 3 4 5 2 &i fi ; 13,19 15,61 45,90 3 17,72 &i fi ; 0 29,05 4 20,10 0 &i fi ; 0 6 75,28 61,06 31,01 &i fi ; Третий этап. Шаг 1. Приведем матрицу расстояний по строкам и столбцам. 1 3 4 5 2 &i fi ; 13,19 15,61 45,90 3 17,72 &i fi ; 0 29,05 4 20,10 0 &i fi ; 0 6 75,28 61,06 31,01 &i fi ; 17,72 0 0 0 ↓ 1 3 4 5 2 &i fi ; 13,19 15,61 45,90 13,19 3 0 &i fi ; 0 29,05 0 4 2,38 0 &i fi ; 0 0 6 57,56 61,06 31,01 &i fi ; 31,01 ↓ 1 3 4 5 2 &i fi ; 0 2,42 32,71 3 0 &i fi ; 0 29,05 4 2,38 0 &i fi ; 0 6 26,55 30,05 0 &i fi ; Шаг 2. Определим оценки нулевых клеток: Шаг 3. Вычеркиваем клетку с максимальной оценкой. Включаем данную клетку в путь обхода. (4 – 5)Шаг 4. Переписываем матрицу расстояний, накладывая запрет на одну из клеток для исключения преждевременного замыкания контура (в клетку 6 – 4 ставим &i fi ;). 1 3 4 2 &i fi ; 0 2,42 3 0 &i fi ; 0 6 26,55 30,05 &i fi ; Четвертый этап. Шаг 1. Приведем матрицу расстояний по строкам и столбцам. 1 3 4 2 &i fi ; 0 2,42 0 3 0 &i fi ; 0 0 6 26,55 30,05 &i fi ; 26,55 ↓ 1 3 4 2 &i fi ; 0 2,42 3 0 &i fi ; 0 6 0 3,50 &i fi ; Шаг 2. Определим оценки нулевых клеток: Шаг 3. Вычеркиваем клетку с максимальной оценкой. Включаем данную клетку в путь обхода. (3 – 4) Шаг 4. Переписываем матрицу расстояний, накладывая запрет на одну из клеток для исключения преждевременного замыкания контура (в клетку 6 – 3 ставим &i fi ;). 1 3 2 &i fi ; 0 6 0 &i fi ; Пятый этап. Остались не задействованными связи 2 – 3 и 6 – 1. В результате получаем следующую цепочку: 1→ 2→ 3 → 4→ 5→ 6 →1 Длина пути составляет: L=18,87 32,06 31,76 32,14 22,14 97,42=234,39 это и есть кратчайший путь.
Возможность отладки на ЦВМ программ, заданных на алгоритмических языках, должна быть заложена либо в самих трансляторах, либо обеспечена с помощью самостоятельных отладочных программ. Система средств программирования ЦВМ третьего поколения, как правило, основывается на модульном принципе. Модулями называются массивы информации, заданные на алгоритмическом языке вычислительной системы или на входном языке программирования. Массивы, заданные на входных языках программирования, должны содержать информацию, необходимую для их преобразования в модули. Программу, собирающую программы из модулей, иногда называют «композером». В составе операционной системы иногда предусматривают библиотеку модулей (на языке исполнительной системы). Новые модули, составленные в процессе программирования, могут быть включены в состав библиотеки модулей с помощью соответствующей программы из числа средств поддержания системы М. о. В раздел «приложения» системы М. о. входят программы решения конкретных задач, например таких, как транспортная задача, задача решения системы линейных уравнений, распределительная задача линейного программирования, задача выравнивания динамических рядов и пр
1. Решение задачи линейного программирования графическим методом
2. Графическое решение задачи линейного программирования в экономике
4. Решение задачи линейного программирования
5. Решение задач линейного программирования
9. Лабораторная работа №5 по "Основам теории систем" (Транспортные задачи линейного программирования)
11. Решение задач линейной оптимизации симплекс – методом
12. Транспортная задача линейного программирования
13. Решение задач линейной оптимизации симплекс – методом
14. Примеры решения задач по программированию
15. Задача линейного программирования
16. Задачи линейного программирования. Алгоритм Флойда
17. Линейное программирование: решение задач графическим способом
18. Практикум по решению линейных задач математического программирования
19. Решение оптимизационных управленческих задач на основе методов и моделей линейного программирования
20. Применение линейного программирования для решения экономических задач (оптимизация прибыли)
21. Решение многокритериальной задачи линейного програмирования
25. Обучение решению задач из раздела "Основы алгоритмизации и программирования"
26. Решение задач по курсу "семейное право"
27. Применение методов линейного программирования в военном деле. Симплекс-метод
28. Лабораторная работа №6 по "Основам теории систем" (Решение задачи о ранце методом ветвей и границ)
29. Решение систем линейных алгебраических уравнений методом Гаусса и Зейделя
30. Построение решения задачи Гурса для телеграфного уравнения методом Римана
31. Методы и приемы решения задач
32. Итерационные методы решения систем линейных уравнений с неединственными коэффициентами
33. Теория вероятности решение задач по теории вероятности
35. Создание программных продуктов для решения задач
36. Решение систем линейных алгебраических уравнений
37. Методы решения некорректно поставленных задач
41. Применение подобия к решению задач
42. Построения коллектива с акцентом на решение задач или на поддержание отношений в нем
43. O Л. В. Канторовиче и линейном программировании
44. Эвристические методы решения творческих задач
46. Пути повышения эффективности обучения решению задач
47. От решения задач к механизмам трансляции деятельности
48. Дифференциальные уравнения движения точки. Решение задач динамики точки
50. Применение новейших экономико-математических методов для решения задач
51. Задача квадратичного программирования с параметром в правых частях ограничений и ее применение
52. Применение спектральной сейсморазведки для решения задач инженерной геологии
53. Решение задачи одномерной упаковки с помощью параллельного генетического алго-ритма
57. Построение математических моделей при решении задач оптимизации
59. Решение задач по дисциплине "Страхование"
60. Решение задач по управленческому учету
61. Примеры решения задач по правоведению
62. Excel: решение задач с подбором параметров
63. Алгоритмы численного решения задач
65. Линейное программирование симплекс-методом Данцига
66. Разработка программы для решения систем линейных уравнений
67. Разработка формата хранения данных программ и решение задач
68. Реализация на ЭВМ решения задачи оптимальной политики замены оборудования
73. Решение задачи с помощью программ Mathcad и Matlab
74. Решение задачи с помощью программ Mathcad и Matlab
75. Решение задачи с помощью программ Mathcad и Matlab
76. Решение системы линейных уравнений
77. Численное решение системы линейных алгебраических уравнений методом Гаусса
78. Численные методы решения систем линейных уравнений
80. Задачи математического программирования
81. Использование моделирования в обучении решению задач в 5 классе
82. Итерационные методы решения системы линейных алгебраических уравнений
83. Решение задач по курсу статистики
84. Методы решения краевых задач, в том числе "жестких" краевых задач
89. Схематическое моделирование при обучении решению задач на движение (младшие школьники)
90. Применение программного комплекса AnsysIcem к решению задач химической промышленности
91. Методы решения логических задач
92. Проектирование подстанции 110/6 кВ с решением задачи координации изоляции
93. Решение задач по теоретической механике
94. Примеры решения задач по курсу химии
95. Методика решения задач по теоретическим основам химической технологии
96. Примеры решения задач по статистике
97. Решение задач по статистике фирм