You are on page 1of 29

:

2012


1
1.1 . . . . . . . . . . . . . . .
1.2 .
1.2.1
. . . . . . . . . . . . .
1.3 . . . . . .
1.4 .
1.5 .

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

5
5
6
13
15
22
25

1

1.1

.

(
), (
).
Richard Bellman.
Bellman

,
. ,
,
.
:
1. .
2. ()
.
3.
.
5

1.
4.

.
5. ().
6.

.
7.

.

.
,
,
,
,
.
:
- .

- .

- .

- .

1.2

,
.
( )
.

1.2.


680

610


550

760

540



940

830
770

920

1100

430

510


1 

2 

3 

4 

1.1: 1,2,. . . ,9
1.2.1.
1 9.
4 . .
: 2, 3, 4,
5, 6, 7 8.
2 3.
4, 5 6.
7
8
, 9.
1.1,

.
1 9.
. 1.1
( (x, y), 1.2). x,
, (x = 0, 1, 2, 3, 4)
y , , -

1.

1.2:
. , 1
(x = 0, y = 0),
2 (x = 1, y = 1) 3 (x = 1, y = 1).
, 1.2, ,
A1 A9 .

f (x, y) = { (x, y)
(4, 0)( )}
.
(x, y) (x, y)
(x + 1, y + 1) (x, y) (x, y)
(x + 1, y 1).
(x, y) . (x, y),

1 : (x + 1, y + 1)
(x, y),

1.2.

2 : (x + 1, y 1)
(x, y).
, ,
. ,
(x + 1, y + 1) (x, y) + f (x + 1, y + 1),
(x + 1, y 1) (x, y) + f (x + 1, y 1). ,
(x, y)

(x, y) + f (x + 1, y + 1) (1 )

f (x, y) = min

(x, y) + f (x + 1, y 1) (2 )

f (4, 0) = 0.

f (x, y) 1.2 (x = 4)
(x = 3, 2, 1, 0). ( (0, 0) (4, 0)) f (0, 0).

:
:

f (x, y) = { (x, y)
(4, 0)( )}.
:

f (x, y) = min{(x, y) + f (x + 1, y + 1), (x, y) + f (x + 1, y 1)}.


:

f (4, 0) = 0 ( (4, 0) (4, 0) 0).


f (x, y) 1.2,
x = 3,
x = 2, x = 1
x = 0.

1.

10
x=3

f (3, 1) = (3, 1) + f (4, 0) = 920,


f (3, 1) = (3, 1) + f (4, 0) = 1100.
x=2

f (2, 2) = (2, 2) + f (3, 1) = 610 + 920 = 1530,


f (2, 0) = min{(2, 0) + f (3, 1), (2, 0) + f (3, 1)}
= min{540 + 920, 940 + 1100} = 1460,
f (2, 2) = (2, 2) + f (3, 1) = 430 + 1100 = 1530.
x=1

f (1, 1) =
=
f (1, 1) =
=

min{(1, 1) + f (2, 2), (1, 1) + f (2, 0)}


min{680 + 1530, 760 + 1460} = 2210,
min{(1, 1) + f (2, 0), (1, 1) + f (2, 2)}
min{830 + 1530, 510 + 1530} = 2040.

x=0

f (0, 0) = min{(0, 0) + f (1, 1), (0, 0) + f (1, 1)}


= min{550 + 2210, 770 + 2040} = 2760.
A1 A9
2760. 1 9 2760 .

.

f (0, 0)
(0, 0) (1, 1).

(1, 1) (4, 0). f (1, 1)
2210 (1, 1)
(2, 2). (2, 2)
f (2, 2) = 1530
(2, 2) (3, 1). ,

1.2.

11

1.3:
(3, 1)
(3, 1) (4, 0). ,

(0, 0) (1, 1) (2, 2) (3, 1) (4, 0).



2 , 4
7 .
.
1.2.2. 1.3.
,
, .
, :
:

f (x, y) = { (x, y)
(4, 0)}.
:

f (x, y) = min{(x, y) + f (x + 1, y + 1), (x, y) + f (x + 1, y 1)}.

1.

12
:

f (4, 0) = 0 ( (4, 0) (4, 0) 0).


f (x, y) 1.3,
(4, 0) x = 3,
x = 2, x = 1
x = 0.
x=3

f (3, 1) = (3, 1) + f (4, 0) = 1 + 0 = 1,


f (3, 1) = (3, 1) + f (4, 0) = 1 + 0 = 1.
x=2

f (2, 2) = (2, 2) + f (3, 1) = 2 + 1 = 3,


f (2, 0) = min{(2, 0) + f (3, 1), (2, 0) + f (3, 1)}
= min{2 + 1, 1 + 1} = 2,
f (2, 2) = (2, 2) + f (3, 1) = 0 + 1 = 1.
x=1

f (1, 1) =
=
f (1, 1) =
=

min{(1, 1) + f (2, 2), (1, 1) + f (2, 0)}


min{2 + 3, 1 + 2} = 3,
min{(1, 1) + f (2, 0), (1, 1) + f (2, 2)}
min{3 + 2, 1 + 1} = 2.

x=0

f (0, 0) = min{(0, 0) + f (1, 1), (0, 0) + f (1, 1)}


= min{1 + 3, 2 + 2} = 4.
, 4.

f (0, 0)
(0, 0) (1, 1)
(1, 1). .

1.2.

13

1 ((0, 0) (1, 1)):


(1, 1) (4, 0).
f (1, 1) 3
(1, 1) (2, 0).
(2, 0) f (2, 0) = 2
(2, 0) (3, 1). ,
(3, 1)
(3, 1) (4, 0). ,

(0, 0) (1, 1) (2, 0) (3, 1) (4, 0).


2 ((0, 0) (1, 1)): (1, 1) (4, 0).
f (1, 1) 2 (1, 1) (2, 2).
(2, 2)
f (2, 2) = 1 (2, 2)
(3, 1). , (3, 1)
(3, 1)
(4, 0). ,

(0, 0) (1, 1) (2, 2) (3, 1) (4, 0).

1.2.1

( )
, (x = 0) ,
( ).
( ) ,
.
1.2.1 .
(0, 0)
(4, 0) 1.2 ( ).

f (x, y) = { (0, 0)
(x, y)}.

1.

14

f (x, y) = min{(x1, y 1)+f (x1, y 1), (x1, y +1)+f (x1, y +1)}.


f (0, 0) = 0,
(0, 0) (0, 0) .
f (x, y) 1.2,
(0, 0) x = 1,
x = 2, x = 3
x = 4.
x = 1

f (1, 1) = (0, 0) + f (0, 0) = 550,


f (1, 1) = (0, 0) + f (0, 0) = 770.
x = 2

f (2, 2) = (1, 1) + f (1, 1) = 680 + 550 = 1230,


f (2, 0) = min{(1, 1) + f (1, 1), (1, 1) + f (1, 1)}
= min{830 + 770, 760 + 550} = 1310,
f (2, 2) = (1, 1) + f (1, 1) = 510 + 770 = 1280.
x = 3

f (3, 1) =
=
f (3, 1) =
=

min{(2, 0) + f (2, 0), (2, 2) + f (2, 2)}


min{540 + 1310, 610 + 1230} = 1840,
min{(2, 2) + f (2, 2), (2, 0) + f (2, 0)}
min{430 + 1280, 940 + 1310} = 1710.

x = 4

f (4, 0) = min{(3, 1) + f (3, 1), (3, 1) + f (3, 1)}


= min{1100 + 1710, 920 + 1840} = 2760.
A1 A9
2760 (
).

(0, 0) (1, 1) (2, 2) (3, 1) (4, 0),



.

1.3.

15


- 

1 2 3

-2

-1

1.4:

1.3

(..
) T .

( ). = 0, 1, . . . , T 1
( 1.4).

. :

k(t)
t,
a(t)
t ,
(t) T ,
t.


.
.

. :

f (t, ) = {
T,
t}.

f (t, ).

1.

16

t.
f (t, ) .
+ 1
:
1 : + 1
1,
2 : + 1
t + 1.

,

A a(t) + k(0),
,
T

A a(t) + k(0) + f (1, + 1).


, k(t)
T

k(t) + f (t + 1, + 1).
, f (t, )
,

A a(t) + k(0) + f (1, + 1) ()


f (t, ) = min

k(t) + f (t + 1, + 1)

()

( T ) (t).
, T ,

f (t, T ) = (t).

:

1.3.

17

f (t, ) = {
T,
t}.
:

f (t, ) = min{A a(t) + k(0) + f (1, + 1), k(t) + f (t + 1, + 1)}.


:

f (t, T ) = (t).
.
1.3.1. 1 (.. )
, T = 3.
t ,
( ).

k(t)

a(t)

(t)

0
1
2
3
4

5
10
15
20
30

40
30
15
10

30
20
10
5

A = 70,

.
,
.
f (1, 0) .

f (t, 3) = (t).

1.

18

( = 0) t = 1, (
= 3) t = 1, 2, 3, 4. ,

f (1, 3) = (1) = 30,


f (2, 3) = (2) = 20,
f (3, 3) = (3) = 10,
f (4, 3) = (4) = 5.
= 2,
t = 1, 2, 3. ,

f (1, 2) =
=
f (2, 2) =
=
f (3, 2) =
=

min{A a(1) + k(0) + f (1, 3), k(1) + f (2, 3)}


min{70 40 + 5 30, 10 + (20)} = 10,
min{A a(2) + k(0) + f (1, 3), k(2) + f (3, 3)}
min{70 30 + 5 30, 15 + (10)} = 5,
min{A a(3) + k(0) + f (1, 3), k(3) + f (4, 3)}
min{70 15 + 5 30, 20 + (5)} = 15.

= 1,
t = 1, 2. ,

f (1, 1) =
=
f (2, 1) =
=

min{A a(1) + k(0) + f (1, 2), k(1) + f (2, 2)}


min{70 40 + 5 10, 10 + 5} = 15,
min{A a(2) + k(0) + f (1, 2), k(2) + f (3, 2)}
min{70 30 + 5 10, 15 + 15} = 30.

= 0,

f (1, 0) = min{A a(1) + k(0) + f (1, 1), k(1) + f (2, 1)}


= min{70 40 + 5 + 15, 10 + 30} = 40.

40.

.

f (1, 0)

1.3.

19

= 1 t = 2.

= 1 = 3,
= 1 t = 2.
f (2, 1) 30
= 2
t = 3. f (3, 2)
15
= 3
t = 4. ,
- = 0,
- = 1,
- = 2.

.
1.3.2. 1 (.. )
, T = 3. (
= 0, 1, 2) ,

. t
, (
).

k(t)

a(t)

(t)

0
1
2
3
4

15
20
30
35
50

30
20
10
5

35
20
10
5

A = 60
E = 30,

.

20

1.

f (t, ) = {
T = 3,
t}.

,
.
f (t, )
.

f1 ( ) = {
T = 3,
}.

. ,

k(t) + f (t + 1, + 1)
()

f (t, ) = min A a(t) + k(0) + f (1, + 1) ()

E (t) + k(0) + f1 ( + 1)
()

A + k(0) + f (1, + 1) ()
f1 ( ) = min

E + k(0) + f1 ( + 1)
()

f (t, T ) = (t) f1 (T ) = 0.
( = 0) t = 1, (
= 3) (
= 2) t = 1, 2, 3, 4. ,

f1 (3) = 0,
f (1, 3) = (1) = 35,
f (2, 3) = (2) = 20,
f (3, 3) = (3) = 10,
f (4, 3) = (4) = 5.

1.3.

21


= 2, = 1 = 0 t.
= 2

f (3, 2) =
=
f (2, 2) =
=
f (1, 2) =
=
f1 (2) =
=

min{k(3) + f (4, 3), A a(3) + k(0) + f (1, 3), E (3) + k(0) + f1 (3)}
min{35 5, 60 10 + 15 35, 30 10 + 15} = 30,
min{k(2) + f (3, 3), A a(2) + k(0) + f (1, 3), E (2) + k(0) + f1 (3)}
min{30 10, 60 20 + 15 35, 30 20 + 15} = 20,
min{k(1) + f (2, 3), A a(1) + k(0) + f (1, 3), E (1) + k(0) + f1 (3)}
min{20 20, 60 30 + 15 35, 30 35 + 15} = 0,
min{A + k(0) + f (1, 3), E + k(0) + f1 (3)}
min{60 + 15 35, 30 + 15} = 40.

= 1

f (2, 1) =
=
f (1, 1) =
=
f1 (1) =
=

min{k(2) + f (3, 2), A a(2) + k(0) + f (1, 2), E (2) + k(0) + f1 (2)}
min{30 + 30, 60 20 + 15, 30 20 + 15 + 40} = 55,
min{k(1) + f (2, 2), A a(1) + k(0) + f (1, 2), E (1) + k(0) + f1 (2)}
min{20 + 20, 60 30 + 15, 30 35 + 15 + 40} = 40,
min{A + k(0) + f (1, 2), E + k(0) + f1 (2)}
min{60 + 15, 30 + 15 + 40} = 75.

= 0

f (1, 0) = min{k(1) + f (2, 1), A a(1) + k(0) + f (1, 1), E (1) + k(0) + f1 (1)}
= min{20 + 55, 60 30 + 15 + 40, 30 35 + 15 + 75} = 75.

75.

- = 0,
- = 1,
- = 2,
1.3.1.

22

1.

1.4

.
: Y k . y = 0, 1, . . . , Y ,
i = 1, 2, . . . , k , () i (y)
y .
.
yi ( ) i, i = 1, 2, . . . , k ,
i (yi )
k

i (yi ).

i=1

max

y1 ,...,yk

i (yi ),

i=1

y1 + y2 + . . . + yk = Y.
,

fi (y) = { i, i + 1, . . . , k
y }.
y , y = 0, 1, 2, . . . , Y ,
i, i+1, . . . , k yi
i, i+1, i+2, . . . , k
y yi . , fi (y), y = 0, 1, . . . , Y ,

fi (y) = max{i (yi ) + fi+1 (y yi )}.


yi

1.4.

23

fk (y) = k (y), y = 0, 1, . . . , Y.

:
:

fi (y) = { i, i + 1, . . . , k
y }.
:

fi (y) = max{i (yi ) + fi+1 (y yi )}.


yi

fk (y) = k (y), y = 0, 1, . . . , Y.
1.4.1.
5000 .
1000 , 0, 1000, 2000, 3000, 4000
5000 . i (yi ) ( )
i, i = 1, 2, 3, yi () ,
:

1 (y1 )
2 (y2 )
3 (y3 )
1 (0)

=
=
=
=

7y1 + 2, y1 = 1, 2, 3, 4, 5,
3y2 + 7, y2 = 1, 2, 3, 4, 5,
4y3 + 5, y3 = 1, 2, 3, 4, 5,
2 (0) = 3 (0) = 0.

fi (y) = { i, i + 1, . . . , 3
y }.
fi (y), i = 1, 2,
:

fi (y) = max{i (yi ) + fi+1 (y yi )}.


yi

1.

24

f3 (y) = 3 (y), y = 0, 1, 2, 3, 4, 5.

f3 (0) = 0, f3 (1) = 9, f3 (2) = 13, f3 (3) = 17, f3 (4) = 21, f3 (5) = 25.
i = 2
i = 1, y .
i = 2

f2 (0) = 2 (0) + f3 (0) = 0 + 0 = 0


f2 (1) = max{2 (0) + f3 (1), 2 (1) + f3 (0)} = max{9, 10} = 10
f2 (2) = max{2 (0) + f3 (2), 2 (1) + f3 (1), 2 (2) + f3 (0)}
= max{13, 19, 13} = 19
f2 (3) = max{2 (0) + f3 (3), 2 (1) + f3 (2), 2 (2) + f3 (1), 2 (3) + f3 (0)}
= max{17, 23, 22, 16} = 23
f2 (4) = max{2 (0) + f3 (4), 2 (1) + f3 (3), 2 (2) + f3 (2), 2 (3) + f3 (1),
2 (4) + f3 (0)}
= max{21, 27, 26, 25, 19} = 27
f2 (5) = max{2 (0) + f3 (5), 2 (1) + f3 (4), 2 (2) + f3 (3), 2 (3) + f3 (2),
2 (4) + f3 (1), 2 (5) + f3 (0)}
= max{25, 31, 30, 29, 28, 22} = 31.

i = 1

f1 (5) = max{1 (0) + f2 (5), 1 (1) + f2 (4), 1 (2) + f2 (3), 1 (3) + f2 (2),
1 (4) + f2 (1), 1 (5) + f2 (0)}
= max{31, 36, 39, 42, 40, 37} = 42.


42000 . :
- 1 3000 ,
- 2 1000 ,
- 3 1000 .

1.5.

1.5

25

,
.
:
( ) W n . i,
i = 1, 2, . . . , n, ui wi .

.
xi , i = 1, 2, . . . , n ( ), i
. i xi ui

n

xi ui .

i=1

, i xi wi

n

xi wi .

i=1

max

x1 ,...,xn

xi wi W,

xi ui ,

i=1

xi , i = 1, 2, . . . , n, .

i=1

fi (w) = { i, i + 1, . . . , n
w}.
i, i + 1, . . . , n w,
w = 0, 1, . . . , W , xi
i ( xi ui ). w
i wi , xi
w/wi , xi = 0, 1, . . . , [w/wi ] ( [w/wi ] w/wi ).

1.

26

i + 1, i + 2, . . . , n,
w wi xi . , fi (w), w = 0, 1, . . . , W , i = 1, 2, . . . , n 1,

fi (w) = max{xi ui + fi+1 (w wi xi )}, xi = 0, 1, . . . , [w/wi ].


xi

fn (w) = xn un ,
xn = [w/wn ] w = 0, 1, . . . , W.

:
:

fi (w) = { i, i + 1, . . . , n
w}.
:

fi (w) = max{xi ui + fi+1 (w wi xi )}, xi = 0, 1, . . . , [w/wi ], w = 0, 1, . . . , W.


xi

fn (w) = xn un , xn = [w/wn ], w = 0, 1, . . . , W.
1.5.1.
,
1,2 3.
W = 5
. wi ui
.

wi

ui

1
2
3

2
1
3

15
7
12

1.5.

27

fi (w) = { i, i + 1, . . . , 3
w}.
fi (w), i = 1, 2,
:

fi (w) = max{xi ui + fi+1 (w wi xi )}, xi = 0, 1, . . . , [w/wi ], w = 0, 1, 2, 3, 4, 5.


xi

f3 (w) = x3 u3 = 12x3 , x3 = [w/w3 ] = [w/3], w = 0, 1, 2, 3, 4, 5.

f3 (0) = 12 0 = 0, f3 (1) = 12 0 = 0, f3 (2) = 12 0 = 0,


f3 (3) = 12 1 = 12, f3 (4) = 12 1 = 12, f3 (5) = 12 1 = 12.
i = 2

f2 (w) = max{x2 u2 + f3 (w w2 x2 )},


x2

= max{7x2 + f3 (w x2 )}, x2 = 0, 1, . . . , [w/w2 ] = 0, 1, . . . , w.


x2

f2 (0) = 7 0 + f3 (0) = 0
f2 (1) = max{7 0 + f3 (1), 7 1 + f3 (0)} = max{0, 7} = 7
f2 (2) = max{7 0 + f3 (2), 7 1 + f3 (1), 7 2 + f3 (0)}
= max{0, 7, 14} = 14
f2 (3) = max{7 0 + f3 (3), 7 1 + f3 (2), 7 2 + f3 (1), 7 3 + f3 (0)}
= max{12, 7, 14, 21} = 21
f2 (4) = max{7 0 + f3 (4), 7 1 + f3 (3), 7 2 + f3 (2), 7 3 + f3 (1),
7 4 + f3 (0)}
= max{12, 19, 14, 21, 28} = 28
f2 (5) = max{7 0 + f3 (5), 7 1 + f3 (4), 7 2 + f3 (3), 7 3 + f3 (2),
7 4 + f3 (1), 7 5 + f3 (0)}
= max{12, 19, 26, 21, 28, 35} = 35.

1.

28
i = 1

f1 (w) = max{x1 u1 + f2 (w w1 x1 )},


x1

= max{15x1 + f2 (w 2x1 )}, x1 = 0, 1, . . . , [w/w1 ] = 0, 1, . . . , [w/2].


x1

f1 (5),
5 .

f1 (5) = max{15 0 + f2 (5), 15 1 + f2 (3), 15 2 + f2 (1)}


= max{35, 36, 37} = 37.


37.
- 1 2 ,
- 2 1 ,
- 3 0 .


[1] .-.. (2001). , .
[2] Hillier F.S. and Lieberman (2001). Introduction to Operations Research, 7th edition, McGraw-Hill, New York.
[3] Walker R.C. (1999). Introduction to Mathematical Programming,
Prentice Hall, London.
[4] Winston W.L. (2003). Operations Research: Applications and Algorithms, 4th edition, Duxbury Press, Belmont California.

29

You might also like