Решение задач линейного программирования графически, при помощи симплекс-метода и при помощи пакета MATLAB
Построение области допустимых значений задачи линейного программирования. Приведение задачи к канонической форме. Решение задачи максимизации с ограничениями в виде неравенств симплекс-методом. Поиск оптимального решения задачи средствами пакета MATLAB.
| Рубрика | Программирование, компьютеры и кибернетика |
| Вид | контрольная работа |
| Язык | русский |
| Дата добавления | 26.01.2017 |
| Размер файла | 279,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Министерство образования и науки РФ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«Национальный исследовательский Томский политехнический Университет»
Институт электронного обучения
220700 «Автоматизация технологических процессов и производств»
Индивидуальное домашнее задание
по дисциплине:
Математическое программирование и оптимизация систем
Исполнитель:
студент группы З-8Т31
Плотников Дмитрий Игоревич
Руководитель:
Воронин Александр Васильевич
Томск - 2017
ЗАДАНИЕ
Для варианта матриц A, b, cT решить задачу линейного программирования вручную (графически и при помощи симплекс-метода), а также при помощи пакета MATLAB. Матрицы заданы в форме, принятой в MATLAB, элементы разделяются пробелами или запятыми, строки - точкой с запятой.
линейный программирование задача неравенство симплекс
|
№ ВАРИАНТА |
A |
B |
CT |
|
|
3 |
[2, 4; 0.5, 0.25; 2, 2.5] |
[440; 130; 320] |
[8 12] |
Необходимо выполнить следующие пункты:
1. Графическое построение области допустимых значений задачи линейного программирования и нахождение ее решения;
2. Приведение задачи линейного программирования к канонической форме;
3. решение задачи линейного программирования симплекс-методом, с выбором начального базиса из искусственных переменных (по аналогии с примером, приведенным в методических указаниях по выполнению ИДЗ);
4. решение задачи линейного программирования средствами MATLAB.
РЕШЕНИЕ
1. Рассмотрим (по аналогии с примером в методических указаниях) задачу максимизации с ограничениями в виде неравенств ? . Для этого необходимо составить математическую модель задачи и решить ее графически.
При составлении математической модели, необходимо задать переменные x и y, значения которых примем:
для
для
Целевая функция , при заданных матрицах A, b и cT является математической моделью задачи и имеет вид:
при следующих ограничениях
Следующим шагом является определение области допустимых значений на плоскости .
Для этого необходимо построить прямые, которые будут соответствовать ограничениям задачи. Откладываем значение по оси абсцисс, и значение по оси ординат. Данные прямые совместно с осями координат обозначают область допустимых значений. Следовательно, решение задачи находится внутри и на границах области допустимых значений. Для определения оптимального значения необходима прямая, которая соответствует целевой функции .
Для графического построения области допустимых значений (рисунок 1) при помощи пакета Mathcad, выразим линейные функции из вышеприведенных ограничений.
Допустим, целевая функция равняется , отсюда
Рис.1 Область допустимых значений
С помощью трассировки определим оптимальное решение задачи (см. рисунок 2), которым является
Рис.2 Оптимальное решение задачи
Оптимальное решение задачи находится в точке пересечения ограничений и . Для проверки результата решим систему уравнений:
Точка оптимума имеет координаты (60; 80).
Подставим найденные значения переменных в целевую функцию:
.
2. Для приведения математической модели задачи к канонической форме, заменим целевую функцию максимизации на функцию минимизации, при помощи умножения коэффициентов функции на -1. Также изменим вид ограничений с нестрого неравенства на равенство, добавив в каждое по одной дополнительной остаточной переменной. При этом исходные и дополнительные переменные не принимают отрицательных значений.
Запишем каноническую форму модели:
при ограничениях
3. Начальным базисом назначим базис . Тогда симплекс-таблица для начального базиса примет вид:
|
Базис |
b/с |
-8 |
-12 |
0 |
0 |
0 |
|
|
440 |
2 |
4 |
1 |
0 |
0 |
||
|
130 |
0,5 |
0,25 |
0 |
1 |
0 |
||
|
320 |
2 |
2,5 |
0 |
0 |
1 |
В связи с присутствием отрицательных элементов в строке коэффициентов целевой функции, первоначальное решение уже оптимальным не является. Необходимо сменить базис.
Для этого нужно выбрать ведущие строку и столбец.
Найдем минимальное из отрицательных значений, которое равняется -12, и соответствует столбцу . Этот столбец ведущий в таблице. Выделим значения жирным шрифтом.
Далее определим минимальное отношение , которое равно 440/4 = 110, и соответствует строке , становится ведущей строкой. Так же выделим значения строки жирным шрифтом.
Теперь в начальном базисе переменную заменим переменной и получим базис.
После пересчета симплекс-таблицы для нового базиса:
|
Базис |
b/с |
-2 |
0 |
3 |
0 |
0 |
|
|
110 |
0,5 |
1 |
0,25 |
0 |
0 |
||
|
102,5 |
0,375 |
0 |
-0,0625 |
1 |
0 |
||
|
45 |
0,75 |
0 |
-0,625 |
0 |
1 |
Наблюдаем в строке коэффициентов целевой функции одно отрицательное значение, которое показывает, что найденное решение не является оптимальным. Необходимо опять произвести процедуру смены базиса и пересчитать симплекс-таблицу:
|
Базис |
b/с |
0 |
0 |
1,333 |
0 |
2,667 |
|
|
80 |
0 |
1 |
0,667 |
0 |
-0,667 |
||
|
80 |
0 |
0 |
0,25 |
1 |
-0,5 |
||
|
60 |
1 |
0 |
-0,833 |
0 |
1,333 |
Теперь решение оптимальное, т.к. все элементы строки коэффициентов целевой функции приняли неотрицательные значения.
Оптимальное решение задачи в канонической форме имеет вид
.
Подставляя значения переменных в исходную целевую функцию, найдем максимальное значение:
4. Для поиска оптимального решения задачи средствами пакета MATLAB необходимо подставить в команду linprog([-cT],[А],[b]) данные из задания.
Листинг программы (см. рисунок 3)
X=linprog ([-8 -12],[2 4;0.5 0.25;2 2.5;-1 0;0 -1],[440;130;320;0;0])
Optimization terminated.
X =
60.0000
80.0000
Рис. 3. Решение в среде MATLAB.
Подставив найденные значения переменных, определим максимальное значение функции:
ОТВЕТ: максимальное значение функции равно 1440 при значении переменных , .
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Воронин А.В. Математическое программирование и оптимизация систем: метод. указ. и индивид. задания для студентов ИнЭО, обучающихся по напр. 220700 «Автоматизация технологических процессов и производств» / сост. А.В. Воронин; Томский политехнический университет. - Томск: Изд-во Томского политехнического университета, 2014. - 31 с.
2. Воронин А.В. Математическое программирование и оптимизация систем: учебное пособие / А.В. Воронин; Томский политехнический университет. - Томск: Изд-во Томского политехнического университета, 2014. - 85 с.
3. Калиткин Н.Н. Численные методы. - М.: Наука, 1991.
4. Лесин В.В. Основы методов оптимизации/ В.В. Лесин, Ю.П. Лисовец. - М.: Изд-во МАИ, 1995. - 344 с.
5. Мину М. Математическое программирование. Теория и алгоритмы / пер. с фр. и предисл. А.И. Штерна. - М.: Наука, Гл. ред. физ.-мат. лит., 1990. - 488 с.
6. Хэмди А. Таха. Введение в исследование операций. 7-е изд.: пер. с англ. - М.: ИД «Вильямс», 2005. - 902 с.
Размещено на Allbest.ru
Подобные документы
Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.
курсовая работа [1,1 M], добавлен 21.03.2012Описание симплекс метода решения задачи линейного программирования. Решение задачи методом Литла на нахождение кратчайшего пути в графе, заданном графически в виде чертежа. Из чертежа записываем матрицу расстояний и поэтапно находим кратчайший путь.
задача [390,4 K], добавлен 10.11.2010Решение задачи линейного программирования симплекс-методом: постановка задачи, построение экономико-математической модели. Решение транспортной задачи методом потенциалов: построение исходного опорного плана, определение его оптимального значения.
контрольная работа [118,5 K], добавлен 11.04.2012Построение математической модели. Выбор, обоснование и описание метода решений прямой задачи линейного программирования симплекс-методом, с использованием симплексной таблицы. Составление и решение двойственной задачи. Анализ модели на чувствительность.
курсовая работа [100,0 K], добавлен 31.10.2014Общие задачи линейного программирования. Описание алгоритма симплекс-метода, записанного в канонической форме с односторонними ограничениями. Алгоритм построения начального опорного плана для решения задачи. Расширенный алгоритм искусственного базиса.
курсовая работа [142,9 K], добавлен 24.10.2012Постановка задачи линейного программирования. Решение системы уравнений симплекс-методом. Разработка программы для использования симплекс-метода. Блок-схемы основных алгоритмов. Создание интерфейса, инструкция пользователя по применению программы.
курсовая работа [1,7 M], добавлен 05.01.2015Теоретическая основа линейного программирования. Задачи линейного программирования, методы решения. Анализ оптимального решения. Решение одноиндексной задачи линейного программирования. Постановка задачи и ввод данных. Построение модели и этапы решения.
курсовая работа [132,0 K], добавлен 09.12.2008Анализ решения задачи линейного программирования. Симплексный метод с использованием симплекс-таблиц. Моделирование и решение задач ЛП на ЭВМ. Экономическая интерпретация оптимального решения задачи. Математическая формулировка транспортной задачи.
контрольная работа [196,1 K], добавлен 15.01.2009Сущность линейного программирования. Математическая формулировка задачи ЛП и алгоритм ее решения с помощью симплекс-метода. Разработка программы для планирования производства с целью обеспечения максимальной прибыли: блок-схема, листинг, результаты.
курсовая работа [88,9 K], добавлен 11.02.2011Обзор алгоритмов методов решения задач линейного программирования. Разработка алгоритма табличного симплекс-метода. Составление плана производства, при котором будет достигнута максимальная прибыль при продажах. Построение математической модели задачи.
курсовая работа [266,4 K], добавлен 21.11.2013


