Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Задачи линейного программирования



Одним из разделов математического программирования является линейное программирование. В моделях линейного программирования так называемая «основная задача» состоит в нахождении неотрицательного решения системы линейных уравнений или неравенств (ограничений), которое минимизирует или максимизирует линейную форму (целевую функцию). Математическая задача линейного программирования записывается в сокращённом виде следующим образом:

Геометрическая интерпретация задачи ЛП

Задача линейного программирования геометрически может быть проиллюстрирована следующим образом.

Пусть необходимо найти минимум целевой функции:

 

Переменные x1 и x2 должны быть неотрицательными.

Поэтому множество точек, являющихся возможными (допустимыми) решениями, может находиться в первом квадранте (см. рис. 4.6.1.). Неравенства–ограничения изображены в виде полуплоскостей, границами которых являются прямые (графики функций), полученные из неравенств путём отбрасывания знаков > ,< . Полуплоскости образуют выпуклый многоугольник (многоугольник решений – симплекс).

Линейная форма (линия уровня) для некоторого набора фиксированных значений переменной zпредставляет собой семейство параллельных прямых. Одна из них, которая пройдёт через вершину многоугольника «М», ближайшую к началу координат и даст минимум z(для координат вершины).

Графический способ решения (перемещение графика целевой функции по симплексу) приемлем только для двухмерных задач (задач на плоскости). Но геометрическое толкование задачи линейного программирования справедливо и для общего случая (m ограничений и n переменных). Каждое из соответствующих неравенству уравнений системы определяет некоторую гиперплоскость в n – мерном пространстве. Множество неотрицательных решений образует выпуклый многогранник в n – мерном пространстве. Линейная форма z-гиперплоскость, перемещая которую параллельно самой себе, будем получать множество точек пересечения её с выпуклым многогранником. Максимальное или минимальное значение линейной формы zдостигается в точках, являющихся вершинами выпуклого многогранника.

В силу трудности решения задачи графическим способом в случае m ограничений и n>2 переменных применяют другие методы решения задачи ЛП. Наиболее распространённым и удобным является симплекс методрешения задачи ЛП.

Для решения задачи линейного программирования симплекс-методом применяется специальный аппарат формальных преобразований математической модели. Рассмотрим некоторые его положения. Пусть задана основная задача линейного программирования (см. (4.6.1.) и (4.6.2)). Введя в левую часть каждого неравенства добавочную переменную, преобразуем его в уравнение и перейдём к другой, стандартной форме записи:

При этом значения bi должны быть неотрицательными. В случае bi <0 обе части уравнения умножают на» – 1». Заметим, что при максимизации zзадача сводится к стандартной путём замены: max z = – min (– z).

Систему (4.6.3) после несложных преобразований можно привести к виду:

 

Здесь bi ³ 0. Коэффициенты при переменных < FONT> равны единице (+1). Данная система представлена в канонической форме записи. Если количество переменных превышает количество уравнений, то существует бесчисленное множество решений системы.

Пусть m < n. Разделим все переменные системы (4.6.4) на две части:

а) основные переменные, количество которых должно быть равно количеству линейно-независимых переменных (m);

б) неосновные переменные, количество которых будет равно n – m.

Назначим первые m переменных (x1 , x2 , …, xm ) в качестве основных. Тогда систему (4.6.4) можно решить относительно x1 , x2 , …, xm , если определитель m-го порядка, составленный из коэффициентов при переменныхx1 , x2 , …, xm не равен нулю.

Придавая неосновным (независимым) переменным произвольные числовые значения, получим некоторое решение данной системы, причём каждому набору значений независимых переменных будет соответствовать одно определённое решение системы.

Основные (зависимые, несвободные) переменные будем называть базисными, неосновные (независимые, свободные) – небазисными переменными.

Можно составить бесчисленное множество различных наборов значений независимых переменных. Из всех этих решений в линейном программировании нас будет интересовать так называемые допустимые базисные решения.

Допустимое базисное решение системы линейных уравнений при m <n – это такое решение, в котором неосновным (независимым, небазисным) переменным даны нулевые значения, а значения базисных переменных являются неотрицательными (решение на грани или вершине симплекса).

В теории линейного программирования доказывается, что если оптимальное решение задачи существует, то оно совпадает по крайней мере с одним из допустимых базисных решений.

Поиск и направленные переходы от одних допустимых базисных решений к другим с целью определения оптимального решения может быть выполнен численным методом. Один из них рассмотрим ниже.

Рассмотрим вычислительные и логические процедуры, обеспечивающие поиск решения задачи линейного программирования симплекс-методом. Процедуры поясняются в процессе решения конкретной задачи: найти совокупность значений, удовлетворяющих системе неравенств:

Таким образом, идея симплекс-метода преобразования модели заключается в таком интерактивном направленном переходе от одного допустимого базисного решения к другому, при котором последовательно улучшается значение линейной формы.

Симплекс-метод является наиболее распространенным универсальным методом. Существует несколько вариантов этого метода, рассмотрим один из них.

Необходимо предварительно выполнить следующие этапы:

– привести математическую модель к каноническому виду;

– определить начальное допустимое базисное решение задачи;

Пример:

L=3x1 +2x2 ®max

x1 -x2 £2,

2x1 +x2 £6,

x1 , x2 ³0

Приведем заданную модель к каноническому виду, введя свободные переменные x3 и x4 , превращающие неравенства в равенства. Переменные x3 и x4 входят в уравнение с коэффициентом единица и только один раз:

L=3x1 +2x2 ®max

x1 -x2 +x3 =2,

2x1 +x2 +x4 =6,

xj ³0

где x3 , x4 - дополнительные переменные, x1 , x2 - свободные переменные, A3, A4 - начальный базис, A0 -вектор ограничений.

Составим симплекс – таблицу, соответствующую каноническому виду:

Табл . 0 q
i Csi базис A0 A1 A2 A3 A4
A3 -1 2Ümin
A4
D -3 -2    
Z    
Ýmin                

Элементы строки D рассчитываем по формулам:

Для базисных переменных оценки всегда равны нулю.

Значение критерия для данного начального базиса будет равно нулю:

L=åci ai 0 =0*2+0*6=0;

Так как имеются Dj <0 приступаем к улучшению плана.

Первая итерация

В базис вводим вектор A1 , которому соответствует минимальное значение Dj . Из базиса выводим вектор A3 , так как минимальное q достигается при i=3.

Таким образом, элемент a31 будет направляющим (в таблице выделен зеленым цветом).

Заполняем таблицу, соответствующую новому базисному решению.

Все элементы aij таблицы определяются по следущему рекуррентному соотношению:

где akr - направляющий элемент, l– номер итерации

Табл . 1 q
i Csi базис A0 A1 A2 A3 A4
A1 -1
A4 -2 2/3Ümin
D -5    
Z -3    
Ýmin                

Приведем расчет нескольких элементов таблицы:

Элемент a42 =3 является направляющим (в таблице выделен зеленым цветом).

Так как в строке оценок полученного нового плана имеется отрицательное значение Dj , приступаем ко второй итерации, продолжая улучшать план.

 

Вторая итерация

Табл. 2 q
i Csi базис A0 A1 A2 A3 A4
A1 8/3 1/3 1/3
A2 2/3 -2/3 1/3
D 28/3 -1/3 5/3    
Z 28/3 -1/3 5/3    
Ýmin                

Элемент a13 =1/3 является направляющим (в таблице выделен зеленым цветом).

Третья итерация

Табл. 3
i Csi базис A0 A1 A2 A3 A4
A3
A4
D  
Z  

Поскольку все Dj ³0, то план представленный в данной таблице будет оптимальным.

Ответ:x1 =0; x2 =6; x3 =8; x4 =0; L=12;

Если в системе ограничений имеются неравенствами вида > и / или =, начальный план не может быть найден так же просто, как в рассмотренном примере. В таких случаях начальный план отыскивают с помощью искусственных переменных.

Пример: Найти максимум функции

L=2x1 +3x2 -5x3 ;

при ограничениях:

2x1 +x2 -x3 ³7,

x1 +2x2 +x3 ³6,

x1 +4x2 =8,

xj ³0

Вводим в систему три искусственные переменные: x6 , x7, x8 , позволяющие получить начальный базис.

Для исключения из базиса этих переменных последние вводятся в целевую функцию с большим отрицательным коэффициентом М (в задаче минимизации – с положительным М)

L¢=L-M*x6 -M*x7 -M*x8 ®max

при ограничениях

2x1 +x2 -x3 -x4 +x6 =7,

x1 +2x2 +x3 -x5 +x7 =6,

x1 +4x2 +x8 =8,

xj ³0

Выбрав в качестве начального базиса векторы A6, A7 , A8 , решаем полученную задачу с помощью табличного симплекс-метода.

Если в оптимальном решении такой задачи нет искусственных переменных, это и есть оптимальное решение исходной задачи.

Если же в оптимальном решении данной задачи хоть одна из искусственных переменных будет отлична от нуля, то система ограничений исходной задачи несовместна и исходная задача не разрешима.

Табл 0 -5 - M - M - M q
Csi базис A0 A1 A2 A3 A4 A5 A6 A7 A8
-M A6 -1 -1
-M A7 -1
-M A8 2Ümin
D -21M -4M -2 -7M -3 M M    
Ýmin                      

 

Элемент a82 =4 является направляющим (в таблице выделен зеленым цветом).

Столбцы, соответствующие искусственным переменным по мере вывода из базиса из расчета исключаются.

Табл 1 -5 - M - M q
Csi базис A0 A1 A2 A3 A4 A5 A6 A7
-M A6 7/4 -1 -1 20/7Ümin
-M A7 1/2 -1
A2 1/4
D -7M+6 -9М/4–3/4 M+5 M M    
Ýmin                    

Элемент a61 =7/4 является направляющим (в таблице выделен зеленым цветом).

Табл 2 -5 - M q
Csi базис A0 A1 A2 A3 A4 A5 A6
A1 20/ 7 -4/ 7 -4/ 7
-M A7 4/ 7 9/ 7 2/ 7 -1 4/9Ümin
A2 9/ 7 1/ 7 1/ 7
D -4M/ 7 +67/ 7 -9M/ 7 +30/ 7 2M/ 7 -5/ 7 M    
Ýmin                  

Направляющий элемент a73 =9/ 7 (в таблице выделен зеленым цветом).

Табл 3 -5
Csi базис A0 A1 A2 A3 A4 A5
A1 28/9 -4/9
-5 A3 4/9 2/9 -7/9
A2 11/9 -1/9 1/9
D 23/3 23/9 30/9  

 

Найдено оптимальное решение, так как все оценки неотрицательные и в базисе нет искусственных переменных:

x1 =28/9, x2 =11/9, x3 =4/9, x4 =0, L=23/3.

 

Список литературы

1. Разработка САПР. В 10 кн. Под ред. А.В. Петрова – М.: Высш. шк., 1990.

2. Системы автоматизированного проектирования: Учебн. пособие для ВУЗов: В 9 кн. / Под ред. И.П. Норенкова. – М.: Высш. шк., 1986. –159 с.

3. Основы построения систем автоматизированного проектирования / А.И. Петренко, О.И. Семенков. – 2-е изд., стер. – К.: Вища шк. Головное изд-во, 1985 – 294 с.

4. Справочник по САПР/ А.П. Будя, А.Е. Кононюк, К.П. Куценко и др.; Под ред. В.И. Скурихина. – К.: Техника, 1988. – 375 с.

5. Вермишев Ю.Х. Основы автоматизации проектирования. – М.: Радио и связь, 1988 – 288 с.

6. САПР изделий и технологических процессов в машиностроении / Р.А. Аллик, В.И. Бородянский, А.Г. Бурин и др. Под общ. ред. Р.А. Аллика. – Л.: Машиностроение, 1986. – 319 с.

7. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. 2-е изд., перераб. и доп. – М.: Финансы и статистика, 1989. – 351 с.

8. Грувер М., Зиммерс Э. САПР и автоматизация производства: Пер. с англ. – М.: Мир, 1987. – 528 с.

9. Гардан И., Люка М. Машинная графика и автоматизация конструирования: Пер. с франц. – М.: Мир, 1987. – 272 с., ил.

10.Корячко В.П. и др. Теоретические основы САПР: Учебник для ВУЗов. – М.: Энергоатомиздат, 1987. – 400 с., ил.

11.Робототехника и гибкие автоматизированные производства. В 9 кн. Учебное пособие для ВУЗов / Ю.М. Соломинцев и др. Под ред. И.М. Макарова. – М.: Высш. шк., 1986.

12.Хирн Д., Бейкер М. Микропроцессорная графика: Пер. с англ. – М.: Мир, 1987. – 352 с.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.