Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритм графического метода решения задачСодержание книги Поиск на нашем сайте
Линейного программирования Шаг 1. Построение допустимого множества. Заметим, что каждое ограничение задачи определяет некоторую полуплоскость (в случае неравенства) или прямую (в случае равенства). Допустимым множеством является пересечение этих полуплоскостей и прямых. Таким образом, для построения допустимого множества нужно: а) для каждого ограничения нарисовать прямую, соответствующую равенству б) если ограничение задается неравенством вида в) найти пересечение полученных полуплоскостей и прямых. Шаг 2. Решение задачи путем анализа допустимого множества и поведения целевой функции на этом множестве. а) Пусть допустимое множество оказалось пустым. Делается вывод: задача решений не имеет, поскольку нет ни одной допустимой точки. б) Пусть допустимое множество оказалось не пустым. Выбрать два произвольных числа
Из анализа графического метода решения можно сделать выводы, которые являются справедливыми и для задач из Rn. 1. Допустимое множество задачи линейного программирования, если оно не пусто, является многогранным ограниченным или неограниченным выпуклым множеством. 2. Если в задаче есть решение (оптимальная точка), то среди решений обязательно есть вершины допустимого множества. Часть оптимальных точек можно искать, перебирая только вершины допустимого множества. Проиллюстрируем рассмотренный графический метод на примерах. Пример 1. Решить графически следующую задачу линейного программирования
Решение. Строим область допустимых решений в соответствии с шагом 1 описанного выше алгоритма. В результате получим выпуклый многоугольник (рис 1.) Следуя пункту 2 рассмотренного алгоритма, строим линии уровня целевой функции
В результате получим искомое оптимальное решение Пример 2. Решить графически следующую задачу:
Решение. Первый этап - построение допустимой области - выполняется также как и в предыдущей задаче. В результате получаем неограниченную многогранную область.
На втором этапе решения - параллельном перемещении по линиям уровня в направлении возрастания целевой функции устанавливаем, что такое перемещение можно производить неограниченно. Следовательно, целевая функция неограниченна сверху, т.е. Пример 3. Решить задачу
Решение. Допустимая область в данной задаче имеет вид
Рис 3. Из рисунка видно, что допустимое множество неограниченно. Линии уровня целевой функции параллельны прямой Пример 4. Решить графически задачу
Решение. Допустимое множество данной задачи пусто. Это видно из следующего рисунка
Рис 4. Поэтому данная задача неразрешима. Пример 5. Решить графически задачу
Решение. Допустимым множеством в данной задаче является выпуклый многогранник (рис. 5). Рис.5 Линии уровня целевой функции параллельны прямой, соответствующей ограничению (2). Проводя рассуждения, аналогичные рассуждениям в примере 3, получим, что целевая функция достигает своего максимального значения
Таким образом, любое решение данной задачи имеет вид
Задачи для самостоятельного решения
1.Решить графически: 1)
3)
5)
2. Определить промежутки значений 1)
3)
3. Привести пример графической интерпретации и составить на основании полученного чертежа математическую запись задачи, обладающей следующими свойствами: 1) имеется единственное оптимальное решение для задачи на минимум и для задачи на максимум; 2) максимальное значение целевая функция достигает в бесчисленном множестве точек, а минимальное значение в единственной точке; 3) на минимум задача неразрешима из-за неограниченности целевой функции, а максимальное значение достигается в единственной точке; 4) на максимум и на минимум задача неразрешима из-за неограниченности целевой функции; 5) минимальное значение целевой функции достигается в бесчисленном множестве точек, из которых только одна является вершиной.
Симплексный метод Различные формы записи задачи линейного программирования
В главе 1 приведена общая постановка задачи линейного программирования (ЗЛП). Часто для удобства исследования и при построении метода решения фиксируется та или иная запись задачи. Так, часто используется задача в следующей форме:
Такая форма записи ЗЛП называется стандартной или симметричной формой задачи линейного программирования. Кроме того, выделяют каноническую форму записи ЗЛП:
В не зависимости от того, как записана исходная задача, она может быть переписана в любой желательной форме. С этой целью обсудим понятие эквивалентных задач оптимизации. Определение 1. Две оптимизационные задачи называются эквивалентными, если они имеют одно и то же множество оптимальных точек. Однако так как при переходе от одного вида задачи к другому возможно изменение размерности задачи (увеличение числа переменных, увеличение числа ограничений), то следует в каждом конкретном случае аккуратно формулировать, как понимается эквивалентность данных задач. Сформулируем правила, позволяющие осуществить эквивалентные перезаписи задач. 1. Обеспечить нужное направление оптимизации целевой функции возможно с помощью умножения исходной целевой функции на -1. 2. Любое неравенство можно умножить на -1 и перейти к неравенству другого знака. 3. Ограничение-равенство
4. От ограничений неравенств можно перейти к равенствам, добавляя или отнимая неотрицательные новые переменные, которые в дальнейшем будут называться дополнительными переменными. Так, неравенство 5. Обеспечить условие неотрицательности переменной можно, используя очевидный факт: любое число может быть представлено в виде разности двух неотрицательных чисел: В качестве примера сформулируем факт эквивалентности двух следующих задач линейного программирования:
Утверждение 1. Если
В связи с тем, что основной метод решения ЗЛП - симплексный метод предназначен для решения задач в канонической форме, мы проиллюстрируем работу описанных выше правил на примере приведения задачи к канонической форме. Пример 1. Пусть исходная задача задана в виде
при ограничениях
Привести данную задачу к канонической форме. Решение. 1. Умножим целевую функцию на -1. В результате получим
2. Из левой части первого неравенства вычтем неотрицательную переменную
3. К левой части второго неравенства добавим неотрицательную переменную
4. Умножим обе части третьего равенства на -1
5. Осуществим замену переменных В результате задача принимает канонический вид
Заметим, что последовательность применения правил приведения к канонической форме не существенна и может быть любой. В заключение отметим, что замена переменных порождает неединственность решения полученной канонической задачи даже, если исходная имела единственное решение. Этот факт должен быть выделен при фиксировании ответа. Симплексный метод позволяет это сделать, что будет отмечено в дальнейшем при описании соответствующего алгоритма.
Задачи для самостоятельного решения 1. Привести к канонической форме следующие задачи линейного программирования: а) в) г) 2. Привести к симметричной форме следующие задачи линейного программирования: а) б)
Алгоритм перебора базисных решений систем линейных уравнений Рассмотрим ЗЛП, заданную в канонической форме. В матричном виде данная задача может быть переписана следующим образом:
где Очевидно, что решения задачи ЛП (1) - (3) находятся среди решений системы линейных уравнений Ax = b. Рассмотрим способ перебора решений данной системы для случая, когда ранг матрицы r(A) = m. Из курса линейной алгебры известно, что система (2) с помощью преобразований Жордана - Гаусса может быть приведена к виду где E - единичная матрица размера m× m, матрица
где I - множество индексов зависимых переменных, J - множество индексов свободных переменных, Алгоритм перебора
Шаг 1. Получить методом Жордана-Гаусса произвольную формулу общего решения вида (5). Положить N=1. Шаг 2. Запомнить множество Шаг 3. Выбрать номер k из множества J. Заменить J на J\{k}. Шаг 4. Выбрать Шаг 5. Если множество Шаг 6. Если I= Ø то положить Шаг 7. Если J=Ø, то останов - получены все возможные формулы общего решения, иначе перейти к шагу 3. Шаг 8. Осуществить преобразования Жордана -Гаусса с направляющим элементом Пример 1. Найти базисные решения системы уравнений.
Решение. Здесь I={1,3},J={2}. Оформить процедуру решения удобно в виде следующей таблицы, где через Aj обозначены векторы-столбцы матрицы (столбцы коэффициентов при переменной xj).
* (выбор этого элемента порождает "старое" множество I) На данных трех итерациях получены базисные решения системы соответственно x1=(2,0,4), x2=(0,1,5), x3=(10,-4,0). Как видно из рассмотренного примера, не все полученные в результате перебора базисные решения системы линейных уравнений являются допустимыми точками в соответствующей задаче линейного программирования (1) - (3), так как не удовлетворяют условию неотрицательности (3). Процедуру перебора можно модифицировать таким образом, чтобы перебирать только неотрицательные базисные решения. Изменения необходимо внести в 1, 3 и 4 пункты сформулированного алгоритма, которые приобретают следующий вид. Шаг 1а. Получить произвольное неотрицательное базисное решение. Положить N=1. 3а. Выбрать Шаг 4а. Выбрать Пример 2. Найти неотрицательные базисные решения системы уравнений.
Решение. После эквивалентных преобразований данная система может быть переписана следующим образом:
Положим N=1. Тогда I 1={3,4},J 1={1,2}.. Как и в примере 1, оформим решение в виде в таблицы. Добавим столбец Θ, в который будем помещать отношение bi / aik для aik >0
На данных итерациях получены базисные решения системы соответственно
Задачи для самостоятельного решения 1. Найти все базисные решения следующих систем уравнений: а) б) 2. Найти все неотрицательные базисные решения следующей системы уравнений:
Симплексный метод Определение 1. Допустимая точка ЗЛП Покажем, как проверяется, является ли заданная точка базисной, на примере. Пример 1. Пусть условия (2) некоторой задачи линейного программирования имеют вид
Проверить, является ли точка x=(1,0,0,1)Т базисной. Решение. Так как координаты точки неотрицательны и удовлетворяют заданной системе уравнений, то она по определению является допустимой. Введем в рассмотрение векторы
В соответствии с определением базисной точки, векторы A 1 и A4 следует проверить на линейную независимость. Из курса линейной алгебры известно, что векторы являются линейно независимыми, если ранг матрицы, составленной из этих векторов, равен их количеству. Так как определитель матрицы
Из определения следует, что число положительных координат базисной точки не может быть более чем m. Определение 2. Если базисная точка содержит ровно m положительных координат, то она называется невырожденной, в противном случае - вырожденной. Задача называется невырожденной, если допустимое множество не имеет вырожденных базисных точек. Как следует из соответствующих определений, базисные точки допустимого множества ЗЛП (1) - (3) совпадают с неотрицательными базисными решениями системы линейных уравнений (2). Таким образом, алгоритм перебора неотрицательных базисных решений системы совпадает с алгоритмом перебора базисных точек соответствующего допустимого множества. Следует отметить, что в начале перебора должна быть известна исходная базисная точка. Определение 3. Пусть имеется базисная точка допустимого множества ЗЛП В случае невырожденной задачи по каждой базисной точке восстанавливается соответствующий базис, состоящий из векторов Координаты новой базисной точки вычисляются следующим образом: Таким образом, ранее
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2021-11-27; просмотров: 194; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.89 (0.014 с.) |