Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Решение методом искусственного базиса



Ограничения – неравенства                         Ограничения – равенства

     
 


-3x1 - 5x2 + 25  0                             x3 = -3x1 – 5x2 + 25

-2x1 + 2x2 + 6  0                                        x4 = - 2x1 + 2x2 + 6

x1 + 2x2 – 3  0                                 ξ1 = -x1 – 2x2 + x5 +3                                 x1 + x2 – 2  0                                       ξ2 = - x1 – x2 + x6 + 2

xi  0,                                                    xi  0, ξ1  0

 

F = - 2x1 + x2 à min  ʄ = - 2x1 – 3x2 + x5 + x6 + 5

Свободные х1, х2

Преобразуем систему для решения симплекс – методом                                                                             

 

x3 = 25 - (3x1 + 5x2 ) 

x4 = 6 - ( 2x1 - 2x2 )  

ξ1 = 3 - ( x1 +  2x2 -  x5)       

ξ2 = 2 - (x1 + x2 - x6 )

     

        

F=0 – ( 2x1 – x2)             ʄ = 5 – ( 2x1 + 3x2 – x5 – x6)

 

 

  β x1 x2 x5 x6
x3 25 -15/4 3 -5/4 5 -5/2 0 5/4 0 0
x4 6 3/2 2 1/2 -2 1 0 1/2 0 0
ξ1 3 3/2 1 1/2 2 1/2 -1 -1/2 0 0
ξ2 2 -3/4 1 -1/4 1 -1/2 0 1/4 -1 0
F 0 3/4 2 1/4 -1 1/2 0 -1/4 0 0
ʄ 5 -9/4 2 -3/4 3 -3/2 -1 3/4 -1 0

 

 

  β x1 x5 x6
x3 85/4 7/4 5/4 0
x4 15/2 5/2 1/2 0
x2 3/2 3/2 -1/2 0
ξ2 5/4 3/4 1/4 -1
F 3/4 9/4 -1/4 0
ʄ 11/4 5/4 -1/4 -1

 

На данном этапе все свободные члены равны дробным числам, следовательно данный способ не может быть использован для решения данной задачи.

 

Вывод: задача линейного программирования решена графическим, алгебраическим методом, симплекс методом. Во всех случаях получены одинаковые решения, что говорит о корректности решения.

 


Решить ЗЦЛП

3.1Решение ЗЦЛП методом Гомори:

 

F = x1 + 2x2à max


5x1 + 7x2 ≤ 21

-x1 + 3x2 ≤ 8

x1,x2 ≥ 0

x1, x2 –целые

 

Приведём к канонической форме

 

-F = - x1 - 2x2 à  min

 

- 5x1 - 7x2 ≥ -21

x1 - 3x2 ≥ - 8

 

Решим с помощью симплекс – метода

 

-5x1 – 7x2 + 21 = x3

x1 – 3x2 + 8 = x4

 

x3 = 21 – ( 5x1 + 7x2 )

x4 = 8 – ( -x1 + 3x2 )

 

-F = 0 – ( x1 + 2x2 ) àmin

 

    β x1 x2
x3   21     -56/3 5     7/3 7   -7/3
x4 8       8/3 -1   -1/3 3     1/3
-F   0   -16/3 1     2/3 2    -2/3

 

λ = 1/3

 

 

    β x1 X4
x3 7/3     7/22 22/3   3/22 -7/3   -7/22
X2   8/3     7/66 -1/3   1/22 1/3   -7/66
-F   -16/3   -35/66 5/3   -5/22 -2/3   35/66

λ = 3/22

 

    β X3 X4
X1   7/22         3/22     -7/22      
X2   61/22       1/22     5/22      
-F   -129/22     -5/22       -3/22     

 

F опт = 129/22

 

XT ={ 7/22, 61/22 , 0 , 0 }

 

β1 = 7/22 – 0 = 7/22

α13 = 3/22 – 0 =3/22

α14 = 15/22 – 0 = 15/22

 

u1 = -7/22 – ( - 3/22 x3 – 15/22 x4 )

 

    β X3 X4
X1   7/22    -7/22  3/22        1 -7/22   -15/22
X2   61/22     -7/66 1/22     1/3 5/22   -5/22  
U1   -7/22   7/3 -3/22   -22/3 -15/22       5
-F   -129/22   35/66 -5/22   -5/3   -3/22   25/22

 

λ = - 22/3

 

 

    β U1 X4
X1   0   7/15  1   -22/15 -1   1/5
X2   8/3          0 1/3       0 0      0  
X3   7/3   7/15 -22/3   -22/15 5     1/5
-F   -16/3   -7/15 -5/3   22/15   1   -1/5

 

λ = 1/5

 

    β U1 X3
X1   7/15       -7/15     1/5        
X2   8/3               1/3            0         
X4     7/15          -22/15     1/5         
-F   -29/5       -1/5      -1/5    

 

Fопт = 29/5

 

XT ={ 7/15, 8/3 , 0 , 7/15 }

 

β2 = 8/3 – 2 = 2/3

α2u1 = 1/3 – 0 = 1/3

α23 = 0

 

u2 = -2/3 – ( - 1/3 u1 – 0 x3 )

 

 

    β U1 X3
X1   7/15    14/5 -7/15   -7/5 1/5      0
X2   8/3       -2/3      1/3       1 0       0
X4     7/15 44/15   -22/15   -22/5 1/5      0
U2 -2/3           2 -1/3      -3  0       0
-F   -2 9/5      6/15 -1/5    -3/5 -1/5      0

 

λ = -3

 

    β U2 X3
X1   7/5     -7/5        1/5    
X2   2       1     0    
X4     17/15     -22/5       1/5  
U1 2               -3     0  
-F   -2 7/5       -3/5     -1/5          

Fопт = 27/5

 

XT ={ 7/5, 2 , 0 , 17/5 }

 

β1 = 7/5 – 1 = 2/5

α21u2 = 3/5 – 0 = 3/5

α13 = 1/5

 

u2 = -2/5 – ( - 3/5 u2 – 1/5 x3 )

 

                                                   

 

    β U2 X3
X1   7/5   -2/5 -7/5   -3/5 1/5       1
X2   2        0 1      0 0        0
X4     17/15    -2/5  -22/5   -3/5  1/5       1
U1 2            0 -3         0 0        0
U3 -2 /5         2     -3/5           3 -1/5       -5 
-F   -2 7/5      2/5 -3/5      3/5 -1/5       -1

 

 

λ = -5

 

 

    β U2 U3
X1   1        -2     1           
X2   2            1           0           
X4     3          -5     1           
U1 2                 -3              0            
X3   2               3            -5          
-F   -5       0       -1           

F опт = 5

 

XT ={ 1, 2 , 2 , 3}


Целочисленное программирование. Метод ветвей и границ

 

Из предыдущего метода было получено:

 

F опт = 129/22

 

XT ={ 7/22, 61/22 , 0 , 0 }

 

 

Введём дополнительное ограничение на x2

 

x2 ≤ [61/22]

x2 ≥ [61/22] + 1

 

x2 ≤ 2

x2 ≥ 3

 

Задача 1

 

F = x1 + 2x2 à min

 


5x1 + 7x2 ≤ 21

-x1 + 3x2 ≤ 8

x2 ≥ 3

x1,x2 ≥ 0

 

Эта задача решения не имеет 

 

 

Задача 2

 

F = x1 + 2x2 à min

 

5x1 + 7x2 ≤ 21

-x1 + 3x2 ≤ 8

x2 ≤ 2

x1,x2 ≥ 0

 

 

x3 = 21 – ( 5x1 + 7x2 )

x4 = 8 – ( -x1 + 3x2 )

x5 = 2 – (x2 )

 

-F = 0 – ( x1 + 2x2 ) à min

 

  β x1 x2
x3     21   -14 5   0 7   -7
x4     8   -6 -1   0 3   -3
x5   2   2 0   0 1   1
-F     0   -4 1    0 2   -2

 

λ = 1

 

  β x1 x5
x3   7   7/5 5   1/5 -7    -7/5
x4     2   7/5 -1   1/5 -3    -7/5
x2     2   0 0   0 1   0
-F     -4    -7/5 1    -1/5 -2   7/5

 

λ = 1/5

 

  β x3 x5
x1     7/5     1/5      -7/5    
x4     17/5      1/5      -22/5    
x2     2     0         1        
-F     -27/5     -1/5     -3/5     

 

F опт = 27/5

 

XT ={ 7/5, 2 , 0 , 17/5 , 0}

 

Введём дополнительное ограничение на x1

 

x1 ≤ [ 7/5]

x1 ≥ [7/5] + 1

x1 ≤ 1

x1 ≥ 2

 

 


Задача 1

 

F = x1 + 2x2 à min

 

5x1 + 7x2 ≤ 21

-x1 + 3x2 ≤ 8

x2 ≤ 2

x1 ≥ 2

x1,x2 ≥ 0

 

Эта задача решения не имеет. 

 

Задача 2

 

F = x1 + 2x2 à min

 

5x1 + 7x2 ≤ 21

-x1 + 3x2 ≤ 8

x2 ≤ 2

x1 ≤ 1

x1,x2 ≥ 0

 

x3 = 21 – ( 5x1 + 7x2 )

x4 = 8 – ( -x1 + 3x2 )

x5 = 2 – (x2 )

x6 = 1 – ( x1 )

 

-F = 0 – ( x1 + 2x2 ) à min

 

 

  β x1 x2
x3     21   -14 5   0 7   -7
x4     8   -6 -1   0 3   -3
x5     2   2 0   0 1   1
x6     1   0 1   0 0   0 
-F     0   -4 1   0 2   -2

 

λ = 1

 

  β x1 x5
x3     7     -5 5    -5 -7   0
x4     2   1 -1   1 -3     0
x2     2   0 0   0 1   0
x6   1   1 1   1 0   0 
-F     -4   -1 1     -1 -2     0

 

λ = 1

 

 

 

  β x6 x5
x3     2      -5     -7       
x4     3        1         -3     
x2     2        0         1        
x1     1         1        0          
-F     -5      -1      -2     

 

F опт = 5

XT ={ 1, 2 , 2 , 3 , 0 , 0}

 

 

Дерево ветвления задачи:

 

 

F =129/22

 

 

F=27/5

F =5
4. Решение задачи булевского программирования о распределении капиталовложения.

4.2Булевское программирование. Метод Баллаша

Задание:

Вариант

Проект

Расходы (млн. грн. в год)

Прибыль (млн. грн)
1-й год 2-й год 3-й год  

19

  1 4 6 3   10
2 9 7 8 15
3 7 9 9 10
4 5 5 6 25
5 6 4 6 20
Доступный капитал 30 30 30  

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

Суть этого метода сводится к следующему:

1) расположить переменные по возрастанию коэффициентов при них в целевой функции;

2) принять некоторый набор значений X, удовлетворяющий всем ограничениям;

3) значение целевой функции при удовлетворении п. 2 принять в качестве дополнительного фильтрующего ограничения (фильтра);

4) методом перебора X определить значение фильтрующего ограничения и проверить удовлетворение его заданным ограничениям;

5) если при некотором наборе X   значение фильтрующего огра­ничения окажется для целевой функции лучшим, следует от первона­чального набора перейти к новому и продолжить процедуру.

 

 

Составим математическую модель данной ЗЛП с булевскими переменными

1: 4x1 + 9x2 + 7x3+ 5x4+6x5 ≤ 30

2: 6x1 + 7x2 + 9x3 + 5x4 + 4x5 ≤ 30

3: 3x1+ 8x2 + 9x3 + 6x4 + 6x5 ≤ 30

F = 10x1 + 15x2 + 10x3 + 25x4 + 20x5 à max

 

Примем значение целевой функции на наборе 00000 за фильтрующее.

 

X1

X2

X3

X4

X5

 Выполнение ограничений

F 1 2 3
1 0 0 0 0 0 0 + + + Fф=0
2 0 0 0 0 1 20 + + + 20
3 0 0 0 1 0 25 + + + 25
4 0 0 0 1 1 45 + + + 45
5 0 0 1 0 0 10       -
6 0 0 1 0 1 30       -
7 0 0 1 1 0 35       -
8 0 0 1 1 1 55 + + + 55
9 0 1 0 0 0 15       -
10 0 1 0 0 1 35       -
11 0 1 0 1 0 40       -
12 0 1 0 1 1 60 + + + 60
13 0 1 1 0 0 25       -
14 0 1 1 0 1 45       -
15 0 1 1 1 0 50       -
16 0 1 1 1 1 70 + + + 70
17 1 0 0 0 0 10       -
18 1 0 0 0 1 30       -
19 1 0 0 1 0 35       -
20 1 0 0 1 1 55       -
21 1 0 1 0 0 20       -
22 1 0 1 0 1 40       -
23 1 0 1 1 0 45       -
24 1 0 1 1 1 65       -
25 1 1 0 0 0 25       -
26 1 1 0 0 1 45       -
27 1 1 0 1 0 50       -
28 1 1 0 1 1 70       -
29 1 1 1 0 0 35       -
30 1 1 1 0 1 55       -
31 1 1 1 1 0 60       -
32 1 1 1 1 1 80 -     -

 

 

Фильтрующее ограничение:

 

Максимальное значение 70 функция достигает на наборе 01111. С помошью фильтра Баллаша колличество вычислений было сокращено на 39%.


Поделиться:



Последнее изменение этой страницы: 2019-05-07; Просмотров: 158; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.088 с.)
Главная | Случайная страница | Обратная связь