Симплексный метод решения ЗЛП

Автор работы: Пользователь скрыл имя, 19 Сентября 2011 в 18:13, курсовая работа

Описание работы

Проникновение математики в экономическую науку связано с преодолением значительных трудностей. В этом отчасти была «повинна» математика, развивающаяся на протяжении нескольких веков в основном в связи с потребностями физики и техники. Но главные причины лежат все же в природе экономических процессов, в специфике экономической науки.

Содержание работы

ВВЕДЕНИЕ…………………………………………………………………4

І Основные теоретические положения симплексного метода решения ЗЛП…………………………………………………….…6

1.1 Теория линейного программирования……………………………...6

1.2 Общий вид задач линейного программирования………………….8

1.3 Методы решения задач линейного программирования…………..10

1.4 Общая характеристика симплекс-метода……………………………12

ІІ РЕШЕНИЕ ЗЛП СИМПЛЕКСНЫМ МЕТОДОМ………………..…..14

2.1 Примеры использования симплекс-метода в экономике…………14

2.2 Алгоритм решения ЗЛП симплексным методом……………………15

2.3 Решение задачи линейного программирования симплекс-

методом…………………………………………………………………...17

2.4 Двойственная задача………………………………………………....23

ІІІ КОМПЬЮТЕРНАЯ РЕАЛИЗАЦИЯ СИМПЛЕКС-МЕТОДА ПРИ РЕШЕНИИ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ……….....28

3.1 Описание программного продукта……………………………...…28

3.2 Тестирование программного продукта………………….…………30

ВЫВОДЫ………………………………………………………………….32

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ………………………….34

ПРИЛОЖЕНИЕ А………………………………………………………...35

Файлы: 1 файл

Курсач ММДО полный.docx

— 200.53 Кб (Скачать файл)
 
 

     B-1(0)= B(0)=

 

Таблица 2.3 –  симплекс-таблица №2 

                  y1      y4      y5      3      y6      R1      R2      ПЧ
     W      1      -10/3M      0      0      7/3M-4      4/3M-4      -7/3M+4      0      5/3M+4
     y4            1/3             -1       -1/3       -1/3       1/3             1/3 
     R2            -10/3                   7/3       4/3       -4/3             5/3 
 

     B-1(1)=   B(1)=  

     Таблица 2.4 – симплекс-таблица №3

                  y1      y4      5        3      y6      R1      R2       ПЧ
     W            -40/7                         -12/7       -7/3M+4      -M+12/7       48/7 
     y4            -1/7             -1             -1/7       1/3       1/7       4/7 
     3      0      -10/7      0      0      1      4/7      -4/3      -3/7      5/7
                                                                     
 

     Симплекс-таблица №3 – оптимальная, т. к. коэффициенты приНБП≥0 
minW=48/7, maxZ=minW=48/7,

     y1*=0, y2*=y4*-y5*=4/7, y3*=-5/7

     Двухфазовый симплекс метод, иначе называют методом искусственного базиса:

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

     Процесс нахождения исходной вершины не сильно отличается от однофазного симплекс-метода, однако может в итоге оказаться сложнее, чем дальнейшая оптимизация. Из изложенного выше не прозвучало отчетливо почему если ограничения отличается от <= не всякий 0-вектор будет допустимым решением. В самом деле пусть i - уравнение имеет вид Ai1X1+...AinXn>=Bi но просто можно изменить знаки записав -Ai1X1- ... AinXn<=-Bi и тем самым привести все неравенства к канонической форме. Это было бы нельзя сделать если бы на вектор B было наложено условие неотрицательностиBi>=0 Но в формулировке выше ограничения вектор B отсутствуют. (это очевидная неточность для теоретической статьи в энциклопедии, где все предпосылки должны формулироваться полно) Если бы все было так просто и легко, непонятно зачем изобретали двухфазный метод... Кроме того по этой же причине классический симплекс метод не годится для решения задачи Min F (точнее не годится в случае положительности всех коэфф целевой функции, т.к. тогда метод не сделает ни одной итерации).

 

      ІІІ  КОМПЬЮТЕРНАЯ РЕАЛИЗАЦИЯ СИМПЛЕКС-МЕТОДА ПРИ РЕШЕНИИ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 
 

     3.1 описание программного продукта 

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

       • порождение начального базисного  допустимого решения;

       • поиск оптимального плана  и экстремума нецелочисленной  задачи линейного программирования;

       • поиск оптимального плана  и экстремума полностью целочисленной  задачи линейного программирования;

       • поиск оптимального плана  и экстремума частично целочисленной  задачи линейного программирования;

     При проектировании был использован  принцип модульного программирования, что упрощает отладку программы  и позволяет расширять ее функциональные возможности. Алгоритмическая часть  программы имеет модульно-иерархическую  структуру, в которой каждый модуль является самостоятельной частью программы  и взаимодействует с другими  модулями в порядке, установленном  разработчиками. Методы решения задач  линейной оптимизации, реализованные  в программно-алгоритмическом комплексе, основаны на построении симплекс-таблиц, поэтому в структуре программы все алгоритмические модули связаны с модулем, организующим решение задачи линейного программирования симплекс-методом. Входными данными для этого модуля является целевая функция с указанием типа экстремума (максимум или минимум) и ограничения, накладываемые на управляемые переменные. Ограничения задаются в виде уравнений или неравенств. Далее управление передается второму модулю, где формируется начальное допустимое базисное решение. Второй, третий и четвертый модули на каждой итерации реализуемого метода вызывают модуль построения симплекс-таблиц, которому они передают текущий результат. Связь между модулями организована через внешние структуры данных. Так, например, для задания линейного критерия оптимальности, вектора управляемых переменных, вектора ограничений и матрицы ограничений используются одномерные и двумерные статические массивы, а симплекс-таблица в памяти ЭВМ представлена как двумерный динамический массив, способный изменять свою размерность, удаляя или добавляя строки и столбцы к симплекс-таблице.

       Рассмотрим особенность функционирования  программного комплекса. Для организации  диалога с пользователем применяется  стандартный графический интерфейс  Windows, построенный на основе библиотеки  визуальных компонентов VCL (VisualComponentLibrary), поставляемой вместе с пакетом  Delphi. При разработке программы  использовалась MDI-технология (MultipleDocumentInterface – многодокументный пользовательский  интерфейс), что позволяет пользователю  работать сразу с несколькими  задачами линейного программирования. В программе реализована активная  форма диалога, позволяющая выбирать  режимы: расчет, просмотр и редактирование  информации, получение справки и т.д.

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

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

     3.2 Тестирование программного продукта 

     

     Рисунок 3.1 – Поиск максимизирующего прибыль  плана производства 

     

     Рисунок 3.2 - Поиск максимизирующего прибыль плана производства 

     

     Рисунок 3.3 – Оптимальный план производства 
 
 

     ЗАКЛЮЧЕНИЕ 
 

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

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

     Задачи  линейного программирования решаются несколькими методами:

     1. графический метод;

     2. симплекс-метод;

     3. двойственный симплекс-метод.

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

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

 

      СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 

     
  1. Акулич  И.Л. Математическое программирование в примерах и задачах: учеб.пособие для ВУЗов / И. Л. Акулич. – М.: Высшая школа, 1986.
  2. Гончаров Е. Н. Исследование операций. Примеры и задачи: учеб.пособие / Е. Н. Гончаров, А. И. Ерзин, В. В. Залюбовский. –Н.: Гос. ун-т. Новосибирск, 2005.
  3. Павлова Т. Н. Линейное программирование: учеб.пособие / Т. Н. Павлова, О. А. Ракова. – Д.: 2002. 
  4. БерюховаТ.Н.Банк производственных задач в расчетах на ЭВМ: учебное пособие. – Тюмень.: ТюмИИ, 1992. – 124с.  
      Карманов В.Г. Математическое программирование: учебное пособие для студентов вузов. – М.: Физматлит, 2001. – 264с.  
  5. Кузнецов А.В. Математическое программирование: учебное пособие для вузов. – М.: Высшая школа, 1976. – 352с.  
  6. Мочалов И.А. Нечеткое линейное программирование. // Промышленные АСУ и контроллеры. – 2006. - № 10. – с.26-29.  
  7. Пашутин С.Оптимизация издержек и технология формирования оптимального ассортимента. // Управление персоналом. – 2005. - №5. – с.20-24. 
  8. Жиглявский А.А., Жилинкас А.Г. Методы поиска глобального экстремума. — М.: Наука, Физматлит, 1991.
  9. Карманов В.Г. Математическое программирование = Математическое программирование. — Изд-во физ.-мат. литературы, 2004.
  10. Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. — М.: Наука, 1970. — С. 575-576.
  11. Сайт http://ru.wikipedia.org/wiki
  12. Сайт http://revolution.allbest.ru
  13. Сайт http://fessagicadif.web44.net

Информация о работе Симплексный метод решения ЗЛП