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

З додаванням додаткових змінних .

Умова

F(x1,x2) = 3x1 + 6x2 max;

x 1 + x 2 8,

3x 1 + 7 x 2 21,

x 1 + 2 x 2 6,

0 x 1 7, 0 x 2 7.

Тут розглядається варіант зі снаходженням оптимального плану для max.

 

Для побудови першого опорного плану систему нерівностей приведемо до системи рівностей шляхом введення додаткових змінних (перехід до канонічної формі).

В 1-й нерівності типу (≤) вводимо базисну змінну x3. В 2-й нерівності типу (≥) вводимо базисну змінну x4 зі знаком мінус. У 3-й нерівності типу (≥) вводимо базисну змінну x5 зі знаком мінус.

 

1x1 + 1x2 + 1x3 + 0x4 + 0x5 = 8

3x1 + 7x2 + 0x3-1x4 + 0x5 = 21

1x1 + 2x2 + 0x3 + 0x4-1x5 = 6

 

Введемо штучні змінні x: в 2-e рівність вводимо змінну x6; в 3-у рівність вводимо змінну x7;

 

1x1 + 1x2 + 1x3 + 0x4 + 0x5 + 0x6 + 0x7 = 8

3x1 + 7x2 + 0x3-1x4 + 0x5 + 1x6 + 0x7 = 21

1x1 + 2x2 + 0x3 + 0x4-1x5 + 0x6 + 1x7 = 6

 

Для постановки задачі на максимум цільову функцію запишемо так:

F (X) = 3x1 +6 x2 - Mx6 - Mx7 → max

 

За використання штучних змінних, що вводяться у цільову функцію, накладається так званий штраф величиною М, дуже велике позитивне число, яке зазвичай не задається.

Отриманий базис називається штучним, а метод рішення називається методом штучного базису.

 

Причому штучні змінні не мають відношення до змісту поставленого завдання, однак вони дозволяють побудувати стартову точку, а процес оптимізації змушує ці змінні приймати нульові значення та забезпечити допустимість оптимального рішення.

З рівнянь виражаємо штучні змінні:

 

x6 = 21-3x1-7x2+x4

x7 = 6-x1-2x2+x5

 

які підставимо в цільову функцію:

F(X) = 3x1 + 6x2 - M(21-3x1-7x2+x4) - M(6-x1-2x2+x5) → max

або

F(X) = (3+4M)x1+(6+9M)x2+(-1M)x4+(-1M)x5+(-27M) → max

 

Матриця коефіцієнтів A = a (ij) цієї системи рівнянь має вигляд:

             
      -1      
        -1    

Базисні перемінні це змінні, які входять тільки в одне рівняння системи обмежень і при цьому з одиничним коефіцієнтом.

 

Вирішимо систему рівнянь щодо базисних змінних:

x3, x6, x7,

Вважаючи, що вільні змінні рівні 0, отримаємо перший опорний план:

X1 = (0,0,8,0,0,21,6)

Базисне рішення називається допустимим, якщо воно невід’ємне.

Базис B x1 x2 x3 x4 x5 x6 x7
x3                
x6         -1      
x7           -1    
F(X0) -27M -3-4M -6-9M   1M 1M    

 

Переходимо до основного алгоритму симплекс-методу.

Ітерація № 1.

 

Крок1                
Базис БП x 1 x 2 x 3 x 4 x 5 X6 x7
x3                
X6         -1      
X7           -1    
F(x) -27M -4M-3 -9M-6   M M    

 

Перерахунок симплекс-таблиці.

Формуємо наступну частину симплексного таблиці.

Замість змінної x до таблиці 1 увійде змінна x2.

Рядок, відповідної змінної x2 в плані(таблиці) 2, отриманої в результаті поділу всіх елементів рядка x6 таблиці 1 на дозвільний (той який стоїть на перетині рядків) елемент ДЕ = 7

На місці дозвільного елемента в таблиці(плані) 1 отримуємо 1.

В інших клітинах стовпця x2 плану 1 записуємо нулі.

Таким чином, у новому плані 1 заповнюю рядок x2 і стовпець x2.

Всі інші елементи нового плану 1, включаючи елементи індексного рядка, визначаються за правилом прямокутника.

 

Для цього вибираємо зі старого плану(таблиці 1) чотири числа, які розташовані у вершинах прямокутника і завжди включають дозвільний елемент ДЕ.

Зроблю розрахунок кожного елемента у вигляді таблиці:

Крок 2                
Базис B x 1 x 2 x 3 x 4 x 5 x6 X7
x3   4/7     1/7   -1/7  
x2   3/7     -1/7   1/7  
X7   1/7     2/7 -1 -2/7  
F(X)   -1/7M-3/7     -2/7M-6/7 M 9/7M+6/7  

 

Отримуємо нову симплекс-таблицю:

Крок 3                
Базис B x 1 x 2 x 3 x 4 x 5 X6 x7
x3   1/2       1/2   -1/2
x2   1/2       -1/2   1/2
x4   1/2       -7/2 -1 7/2
F(X)           -3 M M+3

 

 

Перерахунок симплекс-таблиці.

Крок 4                
Базис B x 1 x 2 x 3 x 4 x 5 X6 X7
x5               -1
x2                
x4             -1  
F(X3)             M M

 

 

Отже отримали нову симплекс-таблицю:

Базис B x1 x2 x3 x4 x5 x6 x7
x5               -1
x2                
x4             -1  
F(X3)             1M 1M

 

Оптимальний план запишемо так:

x5 = 10

x2 = 8

x4 = 35

F(X) = 6•8 = 48

 

 

3. Розв’язання з допомогою пакету програм SimplexWin

Cимплекс метод з додаванням змінних, розв’язаний за допомогою сиплекс таблиць.

 

Ввід даних:

 

Крок 1

 

Крок 2

 

 

 

 

Крок 3

 

 

Крок 4

 

 

Результат:

 

 

 

4. Розв’язання за допомогою власної програми.

 

Програма написана мовою С++

 

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

 

При запуску програми потрібно ввести кількість рівнянь обмежень (rows) і найбільший індекс змінної (cols).

 

Після цього потрібно послідовно ввести коефіцієнти рівнянь (xi) та їх праві частини (b), а також коефіцієнти цільової функції. Якщо який-небудь коефіцієнт відсутній, слід ввести нуль.

 

Для виведення результату потрібно натиснути пробіл.

Якщо для вирішення завдання були введені додаткові перемінні або штучні базиси, то їх потрібно виключити з підсумкового відповіді.

 


Дата добавления: 2015-11-14; просмотров: 55 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Жордана -Гауса.| Лістинг програми main.cpp

mybiblioteka.su - 2015-2024 год. (0.014 сек.)