Решение задач линейного программирования
Математическая модель задачи. Решение задачи принятия решений в условиях частичной неопределенности методом теории матричных игр. Применение симплекс-метода для решения транспортной задачи. Реализация в программной среде Matlab двойственной задачи.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 06.11.2014 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Задание № 1
матричный игра двойственный транспортный
Данные для задачи № 1
Решение задач линейного программирования.
Для изготовления четырех видов продукции использкетсятри вида сырья. Запасы сырья, нормы его расхода и цена каждого продукта приведены в таблице.
Тип сырья |
Нормы расхода сырья на одно изделие |
Запасы сырья |
||||
А |
Б |
В |
Г |
|||
1 |
2 |
1 |
3 |
2 |
200 |
|
2 |
1 |
2 |
4 |
8 |
160 |
|
3 |
2 |
4 |
1 |
1 |
170 |
|
Прибыль от реализации изделия |
5 |
7 |
3 |
6 |
Необходимо сформулировать прямую оптимизационную задачу на максимум общей прибыли, найти оптимальный план производства.
Требуется:
1) сформулировать математическую модель задачи линейного программирования;
2) решить задачу линейного программирования симплекс-методом;
3) решить задачу в программной среде MATLAB;
4) составить двойственную задачу, найти её решение.
Решение задачи № 1
Математическая модель:
Z=5x1 + 7x2+3x3+6x4 max
2x1 + x2+3x3 + 2x4 ? 200
x1 + 2x2 + 4x3 +8x4 ? 160
2x1 + 4x2 + x3 + x 4 ? 170
Применение симплекс-метода
2x1 + x2+3x3 + 2x4 = 200
x1 + 2x2 + 4x3 +8x4 = 160
2x1 + 4x2 + x3 + x 4 = 170
Z=5x1 + 7x2+3x3+6x4
1 шаг Вводим новые переменные:
Основные переменные - х5, х6, х7.
Неосновные переменные - х1, х2, x3, x4.
Выразить основные переменные через неосновные:
Х5 = 200 - 2х1 -х2-3x3 -2x4
Х6 = 160 -х1 -2 х2 -4x3-8x4
Х7 = 170 -2x1 -4 х2 -x3 -x4
Z=5x1 + 7x2+3x3+6x4
Х1 = (0, 0, 0, 0, 200, 160,170)
Шаг 2: Вводим ограничения для х2:
Х5 = 200 - х2 ? 0 х2 ? 200
Х6 = 160 - 2х2 ? 0 х2 ? 80
Х7 = 170 - 4х2 ? 0 х2 ? 42,5 - min => x7 в неосновной., x2 в основной.
Оcновные переменные - х2, х5, х6.
Неосновные переменные - х1, x3, x4, x7.
Выразим новые основные переменные через неосновные (х2 выражаем из урав-ия х7:
х2 = 85/2-x1/2-x3/4-x 4/4-x7/4
х5 = 315/2 -3/2* х1 - 11/4*х3-7/4*x4-x7/4
х6 = 75 - 7/2*х3 -15/2* х4 +x7/2
Z= 595/2+3/2*x1+ 5/4*x3 + 17/4*x4 +7/4*x7
Х2 = (0, 85/2, 0, 0, 315/2,75,0)
Шаг 3: Вводим ограничения для х4
Х2 = 85/2-1/4*х4 ? 0 х4 ? 170
Х6 = 75 - 15/2*х4 + х5 ? 0 х4 ? 10 - min=> x6- неосновная переменная, х4 основная
Х5= 315/2-7/4*х4?0 х4 ? 90
Оcновные переменные - х2, х4, х5.
Неосновные переменные -х1+х3+х6+х7.
Выразим новые основные переменные через неосновные (х4 из х6:
Х4 = 10 - 7/15*х3 -2/15x6 +1/15*x7
Х2 = 40-1/2*x1-2/15*x3-1/30*х6 - 4/15* х7
Х5 = 140 - 3/2*х1 - 29/15*х3+ 7/30*x6+2/15x7
Z= 340+ 3/2*х1 - 11/15*х3+ 1 7/30*x6+22/15x7
Х3 = (0, 40, 0, 10, 140, 0, 0)
Шаг 4: Вводим ограничения х1
Увеличение за счет х5, так как коэффициент положительный.
х2 =40-1/2* х1 ? 0 x1 ? 80 - min=> x2 в неосновной, х1 в основной
х5 = 140 - 3/2*х1 ? 0 x1? 280/3
5 шаг
Оcновные переменные - х1, х4, х5.
Неосновные переменные - х2, х3, х6, х7.
Выразим основные переменные через неосновные(х1из х2) :
Х1 = 80-2х2 -4/15*х3 + 1/15*х6-8/15х7
Х5 = 20+-3х2 -23/15*х3 + 2/15*х6-14/15х7
Х4 = 10 -7/15*х3 + 2/15*х6-1/15х7
Z= 460-3x2-17/15*х3 + 7/15*х6-34/15х7
Х4 = (80, 0, 0, 10, 20, 0,0)
X1=80
X2=0
X3=0
Z=5*80+7*0+3*0+6*10=460
Реализация в программной среде MATLAB задачи № 1
Код
clc;
f=[5 7 3 6];
f=-f;
A=[2 1 3 2
1 2 4 8
2 4 1 1];
b=[200;160;170];
lb=[0 0 0 0];
X=linprog(f,A,b,[],[],lb,[]);
disp(X);
fd=-f*X;
disp(fd);
Решение
Optimization terminated.
80.0000
0.0000
0.0000
10.0000
460.000
Результаты идентичны, следовательно, задача решена верно.
Реализация в программной среде MATLAB двойственной задачи
Код
clc;
f=[200 160 170];
A=[2 1 2
1 2 4
3 4 1
2 8 1];
A=-A;
b=[5;7;3;6];
b=-b;
lb=[0 0 0];
X=linprog(f,A,b,[],[],lb,[]);
disp(X);
fd=-f*X;
disp(fd)
Решение
Optimization terminated.
0.0000
0.4667
2.2667
460.0000
Задание № 2
Данные для задачи № 2
Сформулировать математическую постановку и решить следующую транспортную задачу. На трех складах поставщиков нефтепродуктов А1, А 2 и А3 находится по 400, 200 и 150 тонн нефтепродуктов соответственно. Перевозка одной тонны продуктов со склада А1 в пункты В1, В2, В3 и В4 потребеителей соответственно стоит с11, с12, с13, с14 у.е., перевозка одной тонны со склада А2 в те же пункты соответствено с21, с22, с23, с24 у.е., а перевозка одной тонны со склада А 3 в те же пункты соответственно с31, с32, с33, с34 (см. таблицу «Стоимость перевозки»). В пункты В1, В2, В3 и В4 надо доставить по 100, 200, 150, 300 тонн нефтепродуктов соответственно.
Таблица «Стоимость перевозки»
С11 |
1 |
|
С12 |
7 |
|
С13 |
4 |
|
С14 |
4 |
|
С21 |
4 |
|
С22 |
1 |
|
С23 |
6 |
|
С24 |
7 |
|
С31 |
2 |
|
С32 |
2 |
|
С33 |
9 |
|
С34 |
6 |
Составить такой план перевозки нефтепродуктов, при котором транспортные расходы будут минимальными.
Требуется:
1) решить задачу методом потенциалов;
2) решить задача в программной среде MATLAB;
3) проанализировать полученные результаты, сравнив решения, полученные различными методами.
Метод наименьшего элемента в столбце:
В1 |
В2 |
В3 |
В4 |
Запасы у поставщиков |
||
А1 |
1 100 |
7 |
4 150 |
4 150 |
400 |
|
А2 |
4 |
1 200 |
6 |
7 |
200 |
|
А3 |
2 |
2 |
9 |
6150 |
150 |
|
Потребности потребителей |
100 |
200 |
150 |
300 |
Z = 100*1 + 200*1 + 150*4 + 150*4 + 150*6= 2400 т/км
Метод потенциалов
u1 + v1 = 1 Предположим, что u1 = 0,
u2 + v2 = 1 тогда v1 = 1
u1 + v3= 4 v3 = 4
u1 + v4 = 4 v4 = 4
u3 + v4 = 6 u3 = 2
u3 + v4 = 2 u2=0
v2 = 1
Проверяем:
u1 + v2 ? 7 0 + 1 ? 7 - верно
u2 + v1 ? 4 0 + 1 ? 4 - верно
u2 + v3 ? 6 0 + 4 ? 6 - верно
u2 + v4 ? 7 0 + 4 ? 7 - верно
u3 + v1 ? 2 2 + 1 ? 2 - неверно
u3 + v3 ? 9 2 + 4 ? 9 - верно
-100 +150 0 250
0 -150 100 50
В1 |
В2 |
В3 |
В4 |
Запасы у поставщиков |
||
А1 |
1 |
7 |
4 150 |
4 250 |
400 |
|
А2 |
4 |
1 200 |
6 |
7 |
200 |
|
А3 |
2 100 |
2 |
9 |
6 50 |
150 |
|
Потребности потребителей |
100 |
200 |
150 |
300 |
Z= 100*2 +200*1+150*4+250*4+50*6=2300
U1+V3=4 Пусть U1=0, тогда
U1+V4=4 V3=4
U2+V2=1 V4=4
U3+V1=2 V2=0
U3+V4=6 U2=1 U3=2 V1=0.
Проверяем:
U1+V1?1 0+0?1 - верно
u1+v2?7 0+0?7 - верно
U2 + V1? 4 1+0?4 - верно
U2+V3?6 1+4?6 - верно
U2+V4 ?7 1+4?7 - верно
U3+V2?2 2+0?2 - верно
U3+V3?9 2+4?9 - верно
Реализация в программной среде MATLAB задачи № 2
Код
clc;
f=[1 7 4 4 4 1 76 7 2 2 9 6];
Aeq=[1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1
1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1];
beq=[400 200 150 100 200 150 300];
lb=[0 0 0 0 0 0 0 0 0 0 0 0];
x=linprog (f,[],[],Aeq,beq,lb,[]);
disp(x);
fopt=f*x;
disp(fopt)
Результаты идентичны, следовательно задача решена верно.
Задание № 3
Данные для задачи № 3
В1 |
В2 |
В3 |
В4 |
В5 |
||
А1 |
32 |
32 |
37 |
31 |
33 |
|
А2 |
29 |
40 |
34 |
33 |
34 |
|
А3 |
21 |
32 |
31 |
30 |
35 |
|
А4 |
35 |
34 |
25 |
30 |
35 |
|
А5 |
20 |
28 |
31 |
21 |
36 |
Найти наилучшее решение задачи принятия решений в условиях частичной неопределенности методом теории матричных игр.
Требуется:
1) Произвести упрощение платежной матрицы, упростив дублирующие и заведомо невыгодные стратегии (если таковые имеются);
2) Проверить, содержит ли матрица седловую точку;
3) Найти решение игры.
Решение для задачи № 3
Матричные игры - игры, где 2 игрока играют в игру с нулевой суммой, имея конечное число чистых стратегий и задан платеж второго игрока первому. Матрица задает выигрыш первого игрока и проигрыш второго.
В1 |
В2 |
В3 |
В4 |
В5 |
||
А1 |
32 |
32 |
37 |
31 |
33 |
|
А2 |
29 |
40 |
34 |
33 |
34 |
|
А3 |
21 |
32 |
31 |
30 |
35 |
|
А4 |
35 |
34 |
25 |
30 |
35 |
|
А5 |
20 |
28 |
31 |
21 |
36 |
Лучшей стратегией для первого игрока является выбор такой, что из максимума по столбцам необходимо выбрать минимум - это верхняя цена игры в чистых стратегиях, она равна 33. Лучшей стратегией для второго игрока является выбор такой, что из минимума по строкам необходимо выбрать максимум - это нижняя цена игры в чистых стратегиях, она равна 31. Данная матрица не содержит седловую точку, оптимальное решение должно находиться между 31 и 33.
Реализация в программной среде MATLAB задачи № 3 Для игрока А
Код
f=[1 1 1 1 1];
A=[32 29 21 35 20
37 34 31 25 31
31 33 30 30 21];
A=-A;
b=[1;1;1];
b=-b;
lb=[0 0 0 0 0];
X=linprog(f,A,b,[],[],lb);
disp(X);
V=f*X;
disp(V);
Vopt=1/V;
disp(Vopt);
P=X*Vopt;
disp(P);
Оптимальным решением является 31 31,6000 33.
Реализация в программной среде MATLAB задачи № 3 для игрока В
Код
f=[1 1 1 ];
f=-f;
A=[32 37 31
29 34 33
21 31 30
35 25 30
20 31 21];
b=[1;1;1;1;1];
lb=[0 0 0];
X=linprog(f,A,b,[],[],lb);
disp(X);
V=-f*X;
disp(V);
Vopt=1/V;
disp(Vopt);
P=X*Vopt;
disp(P);
Оптимальным решением является 31 ? 31,6000 ? 33.
Вывод
В ходе работы была решена задача линейного программирования, транспортная задача и задача по принятию решений в условиях неопределенности.
Размещено на Allbest.ur
...Подобные документы
Построение математической модели. Выбор, обоснование и описание метода решений прямой задачи линейного программирования симплекс-методом, с использованием симплексной таблицы. Составление и решение двойственной задачи. Анализ модели на чувствительность.
курсовая работа [100,0 K], добавлен 31.10.2014Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.
курсовая работа [1,1 M], добавлен 21.03.2012Решение задачи линейного программирования симплекс-методом: постановка задачи, построение экономико-математической модели. Решение транспортной задачи методом потенциалов: построение исходного опорного плана, определение его оптимального значения.
контрольная работа [118,5 K], добавлен 11.04.2012Анализ решения задачи линейного программирования. Симплексный метод с использованием симплекс-таблиц. Моделирование и решение задач ЛП на ЭВМ. Экономическая интерпретация оптимального решения задачи. Математическая формулировка транспортной задачи.
контрольная работа [196,1 K], добавлен 15.01.2009Описание симплекс метода решения задачи линейного программирования. Решение задачи методом Литла на нахождение кратчайшего пути в графе, заданном графически в виде чертежа. Из чертежа записываем матрицу расстояний и поэтапно находим кратчайший путь.
задача [390,4 K], добавлен 10.11.2010Общее понятие и характеристика задачи линейного программирования. Решение транспортной задачи с помощью программы MS Excel. Рекомендации по решению задач оптимизации с помощью надстройки "Поиск решения". Двойственная задача линейного программирования.
дипломная работа [2,4 M], добавлен 20.11.2010Постановка задачи линейного программирования. Решение системы уравнений симплекс-методом. Разработка программы для использования симплекс-метода. Блок-схемы основных алгоритмов. Создание интерфейса, инструкция пользователя по применению программы.
курсовая работа [1,7 M], добавлен 05.01.2015Сущность линейного программирования. Математическая формулировка задачи ЛП и алгоритм ее решения с помощью симплекс-метода. Разработка программы для планирования производства с целью обеспечения максимальной прибыли: блок-схема, листинг, результаты.
курсовая работа [88,9 K], добавлен 11.02.2011Решение задачи линейного программирования графическим методом, его проверка в MS Excel. Анализ внутренней структуры решения задачи в программе. Оптимизация плана производства. Решение задачи симплекс-методом. Многоканальная система массового обслуживания.
контрольная работа [2,0 M], добавлен 02.05.2012Сущность симплекс-метода. Общая характеристика задачи о смесях. Разработка основных алгоритмов решения задачи. Решение задачи в среде визуального программирования Delphi. Проектирование интерфейса пользователя. Разработка форм ввода-вывода информации.
курсовая работа [476,6 K], добавлен 22.05.2012Теоретическая основа линейного программирования. Задачи линейного программирования, методы решения. Анализ оптимального решения. Решение одноиндексной задачи линейного программирования. Постановка задачи и ввод данных. Построение модели и этапы решения.
курсовая работа [132,0 K], добавлен 09.12.2008Обзор алгоритмов методов решения задач линейного программирования. Разработка алгоритма табличного симплекс-метода. Составление плана производства, при котором будет достигнута максимальная прибыль при продажах. Построение математической модели задачи.
курсовая работа [266,4 K], добавлен 21.11.2013Методы решения задач линейного программирования: планирования производства, составления рациона, задачи о раскрое материалов и транспортной. Разработка экономико-математической модели и решение задачи с использованием компьютерного моделирования.
курсовая работа [607,2 K], добавлен 13.03.2015Графическое решение задач. Составление математической модели. Определение максимального значения целевой функции. Решение симплексным методом с искусственным базисом канонической задачи линейного программирования. Проверка оптимальности решения.
контрольная работа [191,1 K], добавлен 05.04.2016Математическое программирование. Линейное программирование. Задачи линейного программирования. Графический метод решения задачи линейного программирования. Экономическая постановка задачи линейного программирования. Построение математической модели.
курсовая работа [581,5 K], добавлен 13.10.2008Оптимизация затрат на доставку продукции потребителям. Характеристика транспортной задачи, общий вид решения, обобщение; содержательная и математическая постановка задачи, решение с помощью программы MS Excel: листинг программы, анализ результатов.
курсовая работа [514,8 K], добавлен 04.02.2011Математическая модель задачи. Симплекс-таблица. Решение задачи линейного программирования. коэффициенты при переменных в целевой функции. Метод северо-западного угла. Система неравенств в соответствии с теоремой Куна-Таккера. Функция Лагранжа.
контрольная работа [59,5 K], добавлен 29.09.2008Краткие сведения об электронных таблицах MS Excel. Решение задачи линейного программирования. Решение с помощью средств Microsoft Excel экономической оптимизационной задачи, на примере "транспортной задачи". Особенности оформления документа MS Word.
курсовая работа [1,1 M], добавлен 27.08.2012Решение в среде Microsoft Excel с помощью программной модели "Поиск решения" транспортной задачи, системы нелинейных уравнений, задачи о назначениях. Составление уравнения регрессии по заданным значениям. Математические и алгоритмические модели.
лабораторная работа [866,6 K], добавлен 23.07.2012Анализ метода линейного программирования для решения оптимизационных управленческих задач. Графический метод решения задачи линейного программирования. Проверка оптимального решения в среде MS Excel с использованием программной надстройки "Поиск решения".
курсовая работа [2,2 M], добавлен 29.05.2015