Симплекс-метод

Автор работы: Пользователь скрыл имя, 04 Января 2011 в 23:26, реферат

Краткое описание

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

Прикрепленные файлы: 1 файл

курсовая по высш.математики 2курс.doc

— 304.50 Кб (Скачать документ)
СБ Б 0 7 4 0 0 0
 
 
Р0
Р1 Р2 Р3 Р4 Р5
0 Р3 k–400 0 32/7 1 0 –5/7
0 Р4 280 0 8 0 1 –1
7 Р1 80 1 2/7 0 0 1/7
560 0 –2 0 0 1

    В базис входит вектор Р2, а покидает его Р4. Пересчитывая, получаем новую симплексную таблицу:

СБ Б 0 7 4 0 0 0
 
 
Р0
Р1 Р2 Р3 Р4 Р5
0 Р3 k–560 0 0 1 –4/7 –1/7
4 Р2 35 0 1 0 1/8 –1/8
7 Р1 70 1 0 0 –1/28 5/28
630 0 0 0 1/4 3/4

    Так как в индексной строке все  элементы неотрицательны, то данный план является оптимальным. Таким образом, при k≥560 план х1* = 70, x2* = 35, х3* = (k–560), х4* = 0, х5* = 0, а значение функции равно Z* = 630. 

    1.2. Рассмотрим случай когда 400≤k<560. Ведущей будет первая строка:

СБ Б 0 7 4 0 0 0
Р0 Р1 Р2 Р3 Р4 Р5
0 Р3 k–400 0 32/7 1 0 –5/7
0 Р4 280 0 8 0 1 –1
7 Р1 80 1 2/7 0 0 1/7
560 0 –2 0 0 1

    В базис входит вектор Р2, а покидает его Р3. Пересчитывая, получаем новую симплексную таблицу:

СБ Б 0 7 4 0 0 0
Р0 Р1 Р2 Р3 Р4 Р5
4 Р2 7k/32–175/2 0 1 7/32 0 –5/32
0 Р4 980–7k/4 0 0 –7/4 1 1/4
7 Р1 105–k/16 1 0 –1/16 0 3/16
7k/16+385 0 0 7/16 0 11/16

    Так как в индексной строке все  элементы неотрицательны, то данный план является оптимальным. Таким образом, при 400≤k<560 план х1* = (105–k/16), x2* = (7k/32–175/2), х3*=0, х4*=(980–7k/4), х5* = 0, а значение функции равно Z* = (7k/16+385). 

    2. Теперь рассмотрим случай k<400. Тогда ведущей строкой будет первая строка:

СБ Б 0 7 4 0 0 0
Р0 Р1 Р2 Р3 Р4 Р5
0 Р3 k 5 6 1 0 0
0 Р4 840 7 10 0 1 0
0 Р5 560 7 2 0 0 1
0 –7 –4 0 0 0

    В базис входит вектор Р1, а покидает его Р3. Пересчитывая, получаем новую симплексную таблицу:

СБ Б 0 7 4 0 0 0
Р0 Р1 Р2 Р3 Р4 Р5
7 Р1 k/5 1 6/5 1/5 0 0
0 Р4 840–7k/5 0 8/5 –7/5 1 0
0 Р5 560–7k/5 0 –32/5 –7/5 0 1
7k/5 0 22/5 7/5 0 0

    Так как в индексной строке все  элементы неотрицательны, то полученный план является оптимальным. Таким образом, при 0≤k<400 оптимален план х1*=(k/5), х2*=0, х3*=0, х4*=(840–7k/5), х5*=(560–7k/5), а значение целевой функции равно Z* = (7k/5).

    Объединяя случаи 1.1, 1.2, 2 решение можно записать в виде:

      (13)

      (14)

      (15)

    Представим  эти результаты на графиках с использованием офисной программы MS Excel (Рис.1,2).

    В частности, для построения графика  функции Z(k) используем следующую таблицу:

    

    где в ячейку В2 введена формула:

    =ЕСЛИ(А2<400;(7/5)*А2;ЕСЛИ(А2<560;(7/16)*А2+385;630)),

    и распространена на ячейки ВЗ–В5. 

    Значения  в столбце А для краткости  и наглядности выбраны соответственно рубежным значениям формул (12)–(15). Последнее значение (600) может быть выбрано любым большим 560.

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

    

    

 

    ЭТАП 2 

    Задачу  нелинейного программирования предварительно решим графически с использованием офисной программы MS Excel.

    Построим  сначала графики функции Р(k) и W(k). Последнее значение берется тем же, что и для первого этапа.

    Фрагмент  таблицы выглядит так:

    

    где в столбце В, в строках 2 и 3 введено  число 0,07799, а в 4-й строке записана формула:

    =0,2+(А4/300)-КОРЕНЬ(А4/600),

    и распространена на ячейки В5–В14. В ячейку С2 введена формула:

    =А2*В2, и распространена на ячейки СЗ–С14.

    

    

    Объединим полученные результаты. Для этого добавим во вторую таблицу столбец с вычислением функции Z(k) из первой Excel-таблицы. После этого составим разность значений Z'(k) и W’(k).

    Фрагмент  итоговой таблицы выглядит так:

    

    График  разности функций Z'(k) и W’(k) приведен на рис. 4.

    

    Как видно из графика и по таблице, оптимальное значение прибыли достигается при сумме кредита, лежащей между 300 и 400 чел. Для получения точного значения, проведем аналитическое исследование прибыли на этом интервале.

    Согласно  формуле (15), сумма оптимального дохода на интервале 0≤k<400, в который попадает и наш исследуемый интервал, задается формулой:

      (16)

    Тогда из формул (4) и (16) получаем, что на интересующем нас интервале прибыль равна

    

    Раскрывая скобки, получаем

    

    Исследуем эту функцию на максимум на интервале  0≤k<400. Первая и вторая производные исследуемой функции равны:

      (17)

      (18)

    Приравнивая первую производную нулю, из (17) получаем уравнение:

    

    Для удобства умножим все уравнение  на 150. Получим:

    

    Корни этого уравнения определяем по формуле:

    

    Найдем  значения прибыли:

    

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

    Найдем  из (18) значение второй производной при k = 352:

    

    Так как вторая производная отрицательна, то точка k = 352 является точкой максимума. Таким образом, оптимальное количество рабочих равно 352 чел.

    Из  формул (13), (14) определяем оптимальный  план строительства при найденной оптимальной сумме кредита:

    

    ВЫВОД: Для оптимизации прибыли строительной фирме нужно нанять новых рабочих в количестве 352 чел. и построить 70,4 тыс. кв. метров торговых площадей. При этом фирма получит прибыль около 279 млн. руб. 

Информация о работе Симплекс-метод