Рефераты. Выбор параметров контроля с использованием метода динамического программирования и метода ветвей и границ

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

Обозначим: U - множество переменных xj; S - множество фиксированных переменных, вошедших в допустимое решение; Es - множество зависимых переменных, которые не могут быть включены в множество S, так как для них выполняется неравенство

аij> bi - ?аij•xj, i=1, …,m

xjЄS

GS - множество свободных переменных, из которых производится выбор для включения в S очередной переменной.

Рассмотрим первоначально одномерную задачу, когда m=1 и задача (4) имеет только одно ограничение вида (5).

Обозначим h1j = cj/a1j и допустим, что xjЄS (j=1, …,k<n) и выполняются условия

h1,k+1? h1,k+2? …? h1l, l?n,

l

?a1j>b1 - ? a1j•xj,

j=k+1 xjЄS

l-1

?a1j? b1 - ? a1j•xj,

j=k+1 xjЄS

Условия означают, что во множество S без нарушения неравенства (5) можно дополнительно ввести элементы xk+1, xk+2, …, xl-1. При введении во множество S элементов xk+1, xk+2, …, xl неравенство (5) не выполняется.

Для определения верхней границы решения может быть использовано выражение

Hs =?cj•xj + Ls',

xjЄS

где

l-1

Ls' = ?сj + h1l? b1 ,

j=k+1

l-1

? b1 = b1 - ? a1j•xj - ?a1j.

xjЄS j=k+1

Из условий следует, что Ls' не меньше максимального значения величины

?cj•xj

xjЄGS

при ограничениях

? a1j •xj b1 - ? a1j•xj = b1',

xjЄGS xjЄS

xjЄ {0;1}, xjЄGS ,

Выбор очередной переменной для включения во множество S производится с помощью условия

h1r(xr) = max h1j(xj)

xjЄGS

Для выбранной переменной xr определяются величины Hs(xr) и Hs(xr), т.е. в S включаются xr = 1 или xr = 0.

Если в процессе решения окажется, что во множестве GS нет элементов, которые могут быть введены во множество S без нарушения ограничения (5), то полученное решение Ls =?cj•xj принимается в качестве первого приближенного xjЄS решения L0.

Все вершины дерева возможных вариантов, для которых выполняются условия

Hs? L0, из дальнейшего рассмотрения исключаются.

Из оставшихся ветвей выбирается ветвь с максимальным значением Hs, и процесс поиска оптимального варианта продолжается. Если в процессе решения будет найдено Ls = ?cj•xj > L0, то полученное решение принимается

xjЄS

в качестве нового приближенного результата. Вычислительная процедура заканчивается, если для оставшихся ветвей выполняется условие Hs? L0.

2.2 Практическая часть

Ручной счёт

Данные для расчета:

С?16

Таблица 4

N

1

2

3

4

5

6

7

8

9

10

Qi

0.17

0.03

0.15

0.09

0.13

0.08

0.07

0.02

0.06

0.04

с(xi)

5

1

4

2

6

3

2

3

1

1

hj

0.034

0.03

0.0375

0.045

0.0217

0.0267

0.035

0.0067

0.06

0.04

Для удобства расчетов проранжируем таблицу 4 в порядке убывания hj и присвоим новые номера элементам, следующим образом:

Таблица 5

N

1

2

3

4

5

6

7

8

9

10

n

9

4

10

3

7

1

2

6

5

8

Qi

0.06

0.09

0.04

0.15

0.07

0.17

0.03

0.08

0.13

0.02

с(xi)

1

2

1

4

2

5

1

3

6

3

hj

0.06

0.045

0.04

0.0375

0.035

0.034

0.03

0.0267

0.02167

0.0067

Для формирования таблицы 6 произведем расчеты:

1)

8

?сj=19>b1 - ? cj•xj=16-0=16;

j=1 xjЄS

7

?сj=1616;

j=1

7

? с = с - ? сj•xj - ?сj=16-0-16=0

xjЄS j=1

Hs(x1) = q1+q2+q3+q4+q5+q6+q7+h8? с = 0.61

8

?сj=18>b1 - ? cj•xj=16-0=16;

j=2 xjЄS

7

?сj=1516;

j=2

7

? с = с - ? сj•xj - ?сj=16-0-15=1

xjЄS j=2

Hs(x1) = q2+q3+q4+q5+q6+q7+h8? с = 0.5767

2)

8

?сj=18>b1 - ? cj•xj=16-1=15;

j=2 xjЄS

7

?сj=1515;

j=2

7

? с = с - ? сj•xj - ?сj=16-1-15=0

xjЄS j=2

Hs(x2) = q1+q2+q3+q4+q5+q6+q7+h8? с = 0.61

8

?сj=16>b1 - ? cj•xj=16-1=15;

j=3 xjЄS

7

?сj=1315;

j=3

7

? с = с - ? сj•xj - ?сj=16-1-13=2

xjЄS j=3

Hs(x2) = q1+q3+q4+q5+q6+q7+h8? с = 0.5734

3)

8

?сj=16>b1 - ? cj•xj=16-1-2=13;

j=3 xjЄS

7

?сj=1313;

j=3

7

? с = с - ? сj•xj - ?сj=16-1-2-13=0

xjЄS j=3

Hs(x3) = q1+q2+q3+q4+q5+q6+q7+h8? с = 0.61

8

?сj=15>b1 - ? cj•xj=16-1-2=13;

j=4 xjЄS

7

?сj=1213;

j=4

7

? с = с - ? сj•xj - ?сj=16-1-2-12=1

xjЄS j=4

Hs(x3) = q1+q2+q4+q5+q6+q7+h8? с = 0.5967

4)

8

?сj=15>b1 - ? cj•xj=16-1-2-1=12;

j=4 xjЄS

7

?сj=1212;

j=4

7

? с = с - ? сj•xj - ?сj=16-1-2-1-12=0

xjЄS j=4

Hs(x4) = q1+q2+q3+q4+q5+q6+q7+h8? с = 0.61

9

?сj=17>b1 - ? cj•xj=16-1-2-1=12;

j=5 xjЄS

8

?сj=1112;

j=5

8

? с = с - ? сj•xj - ?сj=16-1-2-1-11=1

xjЄS j=5

Hs(x4) = q1+q2+q3+q5+q6+q7+q8+h9? с = 0.56167

5)

8

?сj=11>b1 - ? cj•xj=16-1-2-1-4=8;

j=5 xjЄS

7

?сj=88;

j=5

7

? с = с - ? сj•xj - ?сj=16-1-2-1-4-8=0

xjЄS j=5

Hs(x5) = q1+q2+q3+q4+q5+q6+q7+h8? с = 0.61

8

?сj=9>b1 - ? cj•xj=16-1-2-1-4=8;

j=6 xjЄS

7

?сj=68;

j=6

7

? с = с - ? сj•xj - ?сj=16-1-2-1-4-6=2

xjЄS j=6

Hs(x5) = q1+q2+q3+q4+q6+q7+h8? с = 0.5934

6)

8

?сj=9>b1 - ? cj•xj=16-1-2-1-4-2=6;

j=6 xjЄS

7

?сj=66;

j=6

7

? с = с - ? сj•xj - ?сj=16-1-2-1-4-2-6=0

xjЄS j=6

Hs(x6) = q1+q2+q3+q4+q5+q6+q7+h8? с = 0.61

9

?сj=10>b1 - ? cj•xj=16-1-2-1-4-2=6;

j=7 xjЄS

8

?сj=46;

j=7

7

? с = с - ? сj•xj - ?сj=16-1-2-1-4-2-4=2

xjЄS j=6

Hs(x6) = q1+q2+q3+q4+q5+q7+q8+h9? с = 0.56334

7) Cs = ? cj•xj, проверяем условие С-Сs. Если с (xj)> С-Сs, то эти

xjЄS

элементы вводятся в множество Es.

Es = {x8,x9,x10}

с7=1>b1 - ? cj•xj=16-1-2-1-4-2-5=1;

xjЄS

с7=11;

Условие не выполняется.

8) Ls = q1+q2+q3+q4+q5+q6+q7 = 0.61

Ls принимается в качестве приближенного решения L0. Так как все вершины дерева, для которых выполняется условие Hs L0, из дальнейшего рассмотрения исключаются, то процесс расчета прекращается.

Таблица 6

S

Es

Gs

Hs

xr

Hs(xr)

Hs(xr)

L0

1

1…10

0.61

x1

0.61

0.5767

2

x1

2…10

0.61

x2

0.61

0.5734

3

x1,x2

3…10

0.61

x3

0.61

0.5967

4

x1,x2,x3

4…10

0.61

x4

0.61

0.56167

5

x1,x2,x3,x4

5…10

0.61

x5

0.61

0.5934

6

x1,x2,x3,x4,x5

6…10

0.61

x6

0.61

0.56334

7

x1,x2,x3,x4,x5,x6

8,9,10

7

0.61

x7

0.61

0.56334

8

x1,x2,x3,x4,x5,x6,x7

8,9,10

-

-

-

-

0.61

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.