Загрузил Сергей Крошилин

Презентация МП 3

реклама
Математическое
программирование
Лекция 1:
Общие положения и симплекс метод
Содержание
 Часть 1 Определение и примеры задач
математического программирования.
 Часть 2. Элементы теории КунаТаккера.
 Часть 3. Общая постановка задач
линейного программирования и
алгоритм их решения (симплекс метод)
 Часть 4. Персональные задания.
 Часть 5. Альтернативное описание
представленных выше подходов
Часть 1
Общие сведения о
задачах
математического
программирования
Общая содержательная постановка задач
математического программирования
Содержательная постановка задач:
Дано:
 1. Цели.
 2. Вектор переменных.
 3. Ограничения, налагаемые на значения,
принимаемые переменными.
 Требуется: определить такой вектор
переменных, при котором:
 1. Целевые функции принимали бы наилучшие
значения.
 2. Ограничения на значения, принимаемые
переменными, не нарушались.
Общая формальная постановка задач
математического программирования
i : f i ( X )  extri ;
j :  ( X )b;
Ограничения
j


i : extri  {max; min};
  {; ; };

Вектор
X

x
,
x
,
x
,.....
x
.

1
2
3
n переменных

Цели
КЛАССИФИКАЦИЯ ЗАДАЧ
МАТЕМАТИЧЕСКОГО
ПРОГРАММИРОВАНИЯ
Задачи нелинейного
программирования
Задачи линейного
программирования
Задачи дискретного
программирования
Математическое
программирование
Многокритериальные
задачи
Задачи с одним
критерием
Задачи теории
игр
h
r
h
Пример содержательной постановки
многокритериальной задачи
Требуется определить оптимальные потоки iго вида продуктов j-ому потребителю xi,j,
если известны пропускные способности дуг
ri,j и стоимости ci,j транспортировки по ним
каждого вида продукта, а также
возможности каждого i-го источника и
каждого j-го стока по каждому виду
продуктов.
Цели:
 Минимальные издержки на
транспортировку.
 Максимальное удовлетворение запросов
потребителей.
Графическая иллюстрация
Производители
a1
1
r1,1
Обозначения:
ai – производственные
Потребители возможности по
выпуску i-го продукта iм производителем;
1 В1
Bj- вектор,
определяющий
1, 2
потребности j-го
2 В2 потребителя в каждом
виде продукта:
.
Bj = {bj1, bj2, …bjn};
.
ri,j – пропускная
.
1, m
способность дуги (i,j);
.
Ci,j – стоимость
перевозки единицы i-го
Вm продукта j-му
m
потребителю.
.
r
a2
2
.
.
.
.
.
an
r
n
Формальная постановка задачи
 n m
  сi , j xi , j  min;
 i 1 j 1
 m n
2
  [ xi , j  b j , i ]  min;
.
 j 1 i 1

m
i :  xi , j  ai ;

j 1

i, j : 0  xi , j  ri , j
Транспортная задача
Частным случаем рассмотренной выше
задачи является ТРАНСПОРТНАЯ
ЗАДАЧА, основные отличия которой от
сформулированной выше заключаются в:
1. МИНИМИЗАЦИИ ТОЛЬКО
ТРАНСПОРТНЫХ ИЗДЕРЖЕК (одна
целевая функция);
2. УДОВЛЕТВОРЕНИИ ПОТРЕБНОСТИ
ВСЕХ «потребителей»;
3. Как правило, речь идет об
однопродуктовых потоках.
Формальная постановка задачи
 n m
  сi , j xi , j  min;
 i 1 j 1
j :  xi , j  b j ;

i

m

i :  xi , j  ai ;
j 1

i, j : 0  xi , j  ri , j

Пример многокритериальной задачи с дискретными
переменными
Часть 2
Определение выпуклых функций
Функция f называют выпуклой на интервале [a,b]
если для любой точки отрезка, соединяющего
точки f(a) и f(b), справедливо: все точки этого
отрезка расположены над кривой, отображающей
f(x) на этом интервале:
f
a
b
х
Определение вогнутых функций
 Функция f называют вогнутой
на
интервале [a,b] если для любой
точки отрезка, соединяющего точки
f(a) и f(b), справедливо: все точки
этого отрезка расположены под
кривой, отображающей f(x) на этом
интервале:
f

a
b
Определения глобального и
локального оптимума
 Функция называется локально
оптимальной в точке «х» , если все
значения в Ɛ- окрестности этой точки
«хуже», чем в точке х.
 Функция достигает в точке х
глобального оптимума, если для
любого допустимого вектора y≠x
значение функции «хуже», чем в «х».
Случаи совпадения локально и
глобально оптимальных решений
Теорема 1. Если целевая функция является выпуклой и
максимизируемой, а область допустимых значений
является непрерывной и выпуклой, то локально
оптимальное решение совпадает с глобально
оптимальным.
Теорема 2. Если целевая функция является вогнутой и
минимизируемой, а область допустимых значений
аргументов – выпуклой, то локальный оптимум
совпадает с глобальным.
Часть 3
 Общая постановка задач
линейного программирования и
алгоритм их решения
Формальная постановка задачи ЛП
 с x  min(max);
i i
i
j :  ai , j xi  b j ;
i
i : xi  0.
Линейное программирование
 Дж. Данциг, корпорация “RAND”
Целевая функция
Симплекс
Основные постулаты линейного
программирования
Оптимальное решение всегда
принадлежит одной из вершин
симплекса.
2. Локально оптимальное решение
задачи линейного
программирования одновременно
является и глобально оптимальным.
1.
Пять свойств задач линейного
программирования
Свойство 1. Допустимая область задачи линейного
программирования выпукла, если она не пуста.
Свойство 2. Если допустимая область имеет вершины и задача
линейного программирования имеет решение, то оно достигается
по крайней мере в одной из вершин.
Свойство 3. Множество решений задачи линейного
программирования выпукло.
Свойство 4. Если допустимая область ограничена, то любая задача
линейного программирования имеет оптимальное решение.
Свойство 5. Необходимым и достаточным условием существования
решения задачи линейного программирования на максимум
(минимум) является ограниченность
целевой функции сверху (соответственно снизу) в допустимой
области.
Все перечисленные свойства справедливы и в общем случае (n≥2).
Схема решения ЛП задачи
1) тем или иным способом находим какую-нибудь
вершину допустимого множества и по определенным
критериям определяем, не является ли она
оптимальной. Если вершины нет, то допустимая
область пуста. Если вершина оптимальна, то задача
решена. Если нет, то переходим к пункту 2).
2) используя определенные правила проверяем, нельзя
ли утверждать, что задача не имеет оптимального
решения (целевая функция не ограничена сверху или,
соответственно, снизу на допустимом множестве). Если
утверждать это можно, то задача неразрешима. Если
нельзя, то переходим к пункту 3).
3) 3) по определенному правилу ищем новую, лучшую
вершину и переходим к пункту 1).
Пример 1
Определить оптимальное решение задачи:
5x 1 - 4x 2  13x 3 - 2x 4  x 5  20;
x - x  5x - x  x  8;
 1 2
3
4
5

x 1  6x 2 - 7x 3  x 4  5x 5  min;
x i  0; i  1,2,3,4,5.
где: хi – непрерывная неотрицательная переменная;
Решение – симплекс методом.
Выделение базисных
переменных.
Пусть в качестве базисных (не равных нулю) переменных выбраны х1 и х5:
 x1 = 8 + x2 – 5x3 + x4 – x5. Отсюда: 5х1 = 40 + 5х2 – 25х3 + 5х4 – 5х5
(2)


Подставляя (2) в первое равенство системы (1), получим:
 40 + 5х2 – 25х3 + 5х4 – 5х5 – 4х2 + 13х3 – 2х4 + х5 = 20.

Отсюда следует:
 х2 – 12х3 + 3х4 – 4х5 + 20 = 0.
 Окончательное равенство, включающее х5, имеет вид:










1
3
x 2  3x 3 - x 4  x 5  5
4
4
(3)
Подставляя (3) в выражение для х1, получим:
х1 
3
1
х 2  2х 3  х 4  3
4
4
(4)
После подстановки х1 и х5 в целевую функцию, получим:
28  8х 2  24 х 3  5х 4  min
(5)
Эквивалентная каноническая
форма задачи (1)
 - 0,25х 2  3х 3 - 0,75х 4  х 5  5;
х - 0,75х  2х - 0,25х
 3;
 1
2
3
4

 min;
28  8х 2 - 24х 3  5х 4
i, x i  0.
х1 и х5 – базисные переменные.
Базисное решение: х1=3; x5=5; x2=x3=x4=0.
Значение целевой функции = 28.
Переход к новому базису
Т.к. коэффициент при х3 в целевой функции отрицателен, то
увеличение х3 вызовет уменьшение функционала цели.
Т.о. введению в базис подлежит х3. Теперь следует выбрать
переменную, выводимую из базиса:
х1 = 3 – 2х3
из равенства (4)
х5 = 5- 3х3
5 из равенства (5)
х

3
Если :
3 то х5 станет <0, что недопустимо.
х3 
х3 
3
2
3
то х1 станет <0, что недопустимо.
2
5 3 
х 3  min  , .
3 2 
из базиса выводится х1.
Новый базис имеет вид:
х3 = 1,5; x5 = 0,5; x1=x2=x4=0; f(x) = -8
Значение целевой функции уменьшилось с 28 до –8.
Новая система имеет вид:
- 0,375х 4  х 5  0,5;
- 1,5х 1  0,875х 2

 1,5;
 0,5х 1  0,375х 2  х 3 - 0,125х 4
 12х
- х2
 2х 4 - 8  min
1

где х3 и х5 – базисные переменные.
Переход к новому базису
 Т.к. коэффициент при х2 в целевой функции
отрицателен, в базис вводится х2. Для того, чтобы
определить, какая переменная выводится из базиса,
проанализируем выражения, получаемые из 1-го и 2го равенств:
х 5  0,5 - 0,875х 2  х 2  0,5/0,875

х 3  1,5  0,375х 2 - не ограничивает величину х 2
4
Т.о. х 2  0,5/0,875 
7

3 4 12
Отсюда х 3  1,5  *  , а х 5  0
8 7
7
4
12
Новый базис x2  ; x3  ; x1  x4  x5  0
7
7
Канонический вид системы с
учетом нового базиса
3
8
4
 12
 x 4  x5  ;
 7 x1  x 2
7
7
7

 1
2
3
12
 x3  x 4  x5  ;
 x1
7
7
7
 7
 72
11
8
60
 x 4  x5 
 min
 x1 
7
7
7
7
 Поскольку все коэффициенты небазисных
переменных положительны, полученное
решение является глобально оптимальным:

 4 12

x опт  0, , ,0,0;
 7 7

 
f x опт  
60
7
Настройка пакета Simplexwin 3.1 –
ввод числа переменных и ограничений
Ввод исходных данных в пакет
Simplexwin 3.1
Вывод результатов пакетом
Simplexwin 3.1
Достоинства и недостатки
симплекс-метода
1. Достоинства:
 Гарантия глобально оптимального
решения.
 Высокое быстродействие независимо от
размерности.
 Наличие большого числа программных
реализаций.
2. Недостатки:
 Решаются только линейные задачи с
непрерывными неотрицательными
переменными.
Самостоятельно
Решить задачу симплекс-методом,
добавив переменные:
S=5x₁+8x₂+3x₃
2x₁+3x₂+4x₃ ≤ 12;
x₁≥0; x₂ ≥0; x₃ ≥0.
max;
Персональные
задания (1 – 48).
Группа 1
Персональные задания 1
№1
№2
№3
№19
7 x1  2 x2  max;
5 x  3x  15;
 1
2


3
x

x
1
2  1;

i : xi  0.
7 x1  x2  max;
5 x  3 x  15;
 1
2


3
x

x
1
2  1;

i : xi  0.
8 x1  2 x2  max;
5 x  3x  15;
 1
2


3
x

x
1
2  1;

i : xi  0.
9 x1  2 x2  max;
5 x  3x  15;
 1
2


3
x

x
1
2  1;

i : xi  0.
№4
№5
№6
№20
8 x1  1x2  max;
5 x  3x  15;
 1
2

 3x1  x2  1;
i : xi  0.
9 x1  1x2  max;
5 x  3x  15;
 1
2

 3x1  x2  1;
i : xi  0.
10 x1  x2  max;
5 x  3 x  15;
 1
2

 3x1  x2  1;
i : xi  0.
11x1  2 x2  max;
5 x  3 x  15;
 1
2

 3 x1  x2  1;
i : xi  0.
№7
№8
№9
№21
12 x1  2 x2  max;
5 x  3 x  15;
 1
2

 3 x1  x2  1;
i : xi  0.
13 x1  2 x2  max;
5 x  3 x  15;
 1
2

 3 x1  x2  1;
i : xi  0.
14 x1  2 x2  max;
5 x  3 x  15;
 1
2

 3 x1  x2  1;
i : xi  0.
15 x1  2 x2  max;
5 x  3 x  15;
 1
2

 3 x1  x2  1;
i : xi  0.
Группа 1
Персональные задания 2
№10
№11
№12
№22
19 x1  1x2  max;
5 x  3 x  15;
 1
2

 3 x1  x2  1;
i : xi  0.
18 x1  x2  max;
5 x  3 x  15;
 1
2

 3x1  x2  1;
i : xi  0.
17 x1  x2  max;
5 x  3x  15;
 1
2

 3x1  x2  1;
i : xi  0.
16 x1  x2  max;
5 x  3 x  15;
 1
2

 3x1  x2  1;
i : xi  0.
№13
№14
№15
№23
19 x1  2 x2  max;
5 x  3 x  15;
 1
2

 3 x1  x2  1;
i : xi  0.
18 x1  2 x2  max;
5 x  3 x  15;
 1
2


3
x

x
1
2  1;

i : xi  0.
17 x1  2 x2  max;
5 x  3 x  15;
 1
2


3
x

x
1
2  1;

i : xi  0.
16 x1  2 x2  max;
5 x  3 x  15;
 1
2


3
x

x
1
2  1;

i : xi  0.
№16
№17
№18
№24
15 x1  x2  max;
5 x  3 x  15;
 1
2

 3x1  x2  1;
i : xi  0.
14 x1  x2  max;
5 x  3 x  15;
 1
2

 3x1  x2  1;
i : xi  0.
13 x1  x2  max;
5 x  3 x  15;
 1
2

 3x1  x2  1;
i : xi  0.
12 x1  x2  max;
5 x  3 x  15;
 1
2

 3x1  x2  1;
i : xi  0.
Группа 2
Персональные задания 1
№1
№2
№3
№19
15 x1  2 x2  max;
3 x  2 x  6;
 1
2

 3 x1  x2  1;
i : xi  0.
14 x1  2 x2  max;
3 x  2 x  6;
 1
2

 3 x1  x2  1;
i : xi  0.
13 x1  2 x2  max;
3 x  2 x  6;
 1
2

 3 x1  x2  1;
i : xi  0.
12 x1  2 x2  max;
3 x  2 x  6;
 1
2

 3 x1  x2  1;
i : xi  0.
№4
№5
№6
№20
11x1  2 x2  max;
3 x  2 x  6;
 1
2

 3 x1  x2  1;
i : xi  0.
10 x1  x2  max;
3x  2 x  6;
 1
2

 3x1  x2  1;
i : xi  0.
9 x1  1x2  max;
3 x  2 x  6;
 1
2


3
x

x
1
2  1;

i : xi  0.
8 x1  1x2  max;
3 x  2 x  6;
 1
2

 3x1  x2  1;
i : xi  0.
№7
№8
№9
№21
9 x1  2 x2  max;
3x  2 x  6;
 1
2

 3x1  x2  1;
i : xi  0.
8 x1  2 x2  max;
3x  2 x  6;
 1
2

 3x1  x2  1;
i : xi  0.
7 x1  x2  max;
3 x  2 x  6;
 1
2

 3 x1  x2  1;
i : xi  0.
7 x1  2 x2  max;
3x  2 x  6;
 1
2

 3x1  x2  1;
i : xi  0.
Группа 2
Персональные задания 2
№10
№11
№12
№22
19 x1  1x2  max;
4 x  2 x  8;
 1
2

 3 x1  x2  1;
i : xi  0.
18 x1  x2  max;
4 x  2 x  8;
 1
2

 3x1  x2  1;
i : xi  0.
17 x1  x2  max;
4 x  2 x  8;
 1
2

 3 x1  x2  1;
i : xi  0.
16 x1  x2  max;
3x  2 x  6;
 1
2

 3x1  x2  1;
i : xi  0.
№13
№14
№15
№23
18 x1  2 x2  max;
3 x  2 x  7;
 1
2

 3 x1  x2  1;
i : xi  0.
17 x1  2 x2  max;
3 x  2 x  7;
 1
2

 3 x1  x2  1;
i : xi  0.
16 x1  2 x2  max;
3 x  2 x  6;
 1
2

 3 x1  x2  1;
i : xi  0.
№17
№18
№24
19 x1  2 x2  max;
3 x  2 x  6;
 1
2

 3 x1  x2  1;
i : xi  0.
№16
15 x1  x2  max;
3x  2 x  6;
 1
2

 3x1  x2  1;
i : xi  0.
14 x1  x2  max;
3x  2 x  6;
 1
2

 3x1  x2  1;
i : xi  0.
13 x1  x2  max;
3x  2 x  6;
 1
2

 3x1  x2  1;
i : xi  0.
12 x1  x2  max;
3x  2 x  6;
 1
2

 3x1  x2  1;
i : xi  0.
Часть 5:
Альтернативное описание
представленных выше подходов
 Перейти на сайт:
 http://www.matburo.ru/st_subject.php?p=mp
Скачать