Скачиваний:
31
Добавлен:
09.05.2014
Размер:
660.48 Кб
Скачать

Пример решения задачи постоения оптимального плана.

Вернемся к задаче сформулированной ранее, про раскрой листов. В формализованном виде она имеет следующее представление: . Прежде всего исходную задачу требуется привести к стандартному виду, что является необходимым условием применения симплекс метода. Поскольку условия в системе ограничений «» введем две дополнительные переменныеx5 иx6 со знаком «-». Получаем:.Очевидное базисное решениеx1, x2, x3, x4 = 0, x5 = -80, x6 = -40, что недопустимо. Следовательно задачу необходимо решать в два этапа.

  1. Перейдем к вспомогательной задаче. Для этого приведем систему ограничений к каноническому виду. Для этого вводим две дополнительные переменные x7, x8 следующим образом: . Соответственно формулируем целевую функцию для этой задачи, которая выглядит следующим образом. Очевидным исходным базисным решением здесь будет:x1, x2, x3, x4, x5, x6 = 0, x7 = 80, x8 = 40, w =120. В соответствии с симплекс алгоритмом выразим не нулевые значения целевой функции через остальные. Получаем следующие значения целевой функции:w = x7 + x8 = 120 - 4x1 - 8x2 - 10x3 - 13x4 + x5 + x6, , т.к в выражении присутствуют отрицательные коэффициенты, то найденное нами решение не оптимально. Для выбора переменной, которой следует дать положительное приражение. Для этого находим переменную у которой коэффициент имеет максимальный по модулю отрицительное значение.X4 и ей будем давать положительное приращение,x4 = xs . Теперь необходимо проанализировать, какую переменную необходимо обнулить (x7 или x8). Проанализируем следующие условия:. Определим до какого значения можем увеличиватьx4 . Для этого решим уравнения:. Таким образом получаем следующее базисное решение:x1, x2, x3, x5, x6, x8 = 0, x7 = 80, x4 = 40/13. Это решение лучше, т.к. целевая функция уменьшиласьw = 80. Проверим данное решение на оптимальность. Для этого вновь выразим целевую функцию:w = x7 + x8 = 80 - 3x1 - 2x2 - x3 + x5 + x8. Так как в данном выражении присутствуют отрицательные коэффициенты решение не оптимально. Выберем переменную, которой следует дать положительное приращение. В нашем случае это x1 , т.к. при ней максимальный по модулю отрицательный коэффициент. В нашем случае неотрицательными являются x4 и x7 , поэтому выразим через x1 , для определения какая первая из них обратиться в 0; до какого значения можно увеличивать x1 . Получим: . Для определения значения x1 следует увеличивать до 80/3, при этом x7 обращается в 0. Таким образом получаем следующее решение: x2, x3, x5, x6, x7 ,x8 = 0, x1 = 80/3, x4 = 40/39. Рассмотрим для этого решения целевую функцию w = x7 + x8 = 0. Таким образом вспомогательная задача решена, т.к. целевая функция равна 0, а следовательно можно переходить к решению основной задачи, для которой найдено исходное базисное решение.

-------------------------------------------------------------------------------------------------------------------------------------

  1. Имея допустимое базисное решение стандартной системы, полученное при решении вспомагательной задачи, вернемся к исходной задаче и прежде всего проверим полученное базисное решение на оптимальность. В соответствии с симплекс алгоритмом не трудно выразить полученные базисные переменные через свободные: Здесь присутствуют отрицательные коэффициенты перед переменнойx2 , следовательно данное решение при котором целевая функцияне оптимальна. В базис может быть введена лишь переменнаяx2 . Определим переменную, которую следует обнулить и определим до каких пор можем увеличиватьx2 . Для этого выразимx1 и x4 черезx2 . В данных выражениях x3 , x5 ,x6 отброшены, т.к. они сохраняют нулевые значения. X2 может быть увеличина до 2,5. В этом случае x4 обратится в 0 (больше увеличивать нельзя, т.к. x4 станет отрицительным). Таким образом новое полученное решение выглядит: x3, x5, x6, x4 = 0, x2 =2,5, x1 =25, проверим полученное решение на оптимальность. Для этого выразим в целевой функции zбазисные переменныеx1, x2 через свободные . Данное выражение указывает на то, что полученное решения является оптимальным (ни у одной переменной нет отрицательного коэффициента). Таким образом решение задачи здесь состоит в том, что должны использоваться лишь два способа раскроя листов, при этом 25 листов первым, а 2,5 – вторым. Наименьший расход материала составит 27,5 листов, количество получаемых деталей при этом будет 80 деталий типа 1, и 40 – типа 2 (путем подставления в исходные уравнения x1 и x2)

Сформулируем недостатки рассмотренного классического симплекс метода:

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

-------------------------------------------------------------------------------------------------------------------------------------

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

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

  3. На практике часто требуется решение задачи за конкретное время с заданным ограничением на точность получения решения. Симплекс алгоритм же позволяет решить задачу точно.

  4. Существенный недостаток симплекс метода является то, что он не позволяет получать оптимального плана в полном смысле этого слова, т.е. определить не только оптимальное решения, но и определить их применения в определенном плане. Т.е. он не может быть применен в задачах линейного программирования с заданнием приоритетов решения задач. Например для нашей задачи, где требуется получить 80 деталей типа 1, и 40 – типа 2, может быть сформулированно условие: в первую очередь получить 30 деталей типа 1 и 5 деталий типа 2, во вторую очередь – 20 – типа 1 и 20 – типа 2, в в третью очередь оставшиеся. При использовании симплекс метода данная задача разобьется на 3 задачи линейного программирования (причем независимых) имеющих сложность составления в исходную.

Соседние файлы в папке лекции, отформатированная 2 часть