slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
계 량 분 석 PowerPoint Presentation
Download Presentation
계 량 분 석

Loading in 2 Seconds...

play fullscreen
1 / 51

계 량 분 석 - PowerPoint PPT Presentation


  • 153 Views
  • Uploaded on

계 량 분 석. 이 승 재. 2011. 00. 00. 계량 분석 13 주차. Dynamic Programming. Dynamic Programming. contents. Recursive nature of computations in DP (Shortest-Route Problem) Forward and Backward Recursion Selected DP Applications a. Knapsack/fly-away/cargo-Loading Model

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

계 량 분 석


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

계 량 분 석

이 승 재

2011. 00. 00

slide2

계량 분석 13 주차

Dynamic Programming

slide3

Dynamic Programming

contents

  • Recursive nature of computations in DP (Shortest-Route Problem)
  • Forward and Backward Recursion
  • Selected DP Applications
  • a. Knapsack/fly-away/cargo-Loading Model
  • b. Work-Force size Model
  • c. Equipment Replacement Model
  • d. Investment Model
slide4

Dynamic Programming

Dynamic Programing정의

  • =Optimum Solution of multivariable Problem
  • 최적성의 원리를 이용하여 다단계의 과정을 걸쳐 최대이익을 가져오는 결정을 하는 방법.
  • 부분문제들의 해를 모아서 전제문제의 해를 구하는 방법으로 최적화 문제를 해결하는 알고리즘 방식.
  • - 장점 : 프로그램을 구현 시에 필요한 모든 가능성을 구현하게 되므로 항상 최적의 결과를 얻을 수 있다.
  • - 단점 : 모든 가능성에 대한 고려가 불충분 할 경우 최적의 결과 보장 어려움.다른 방법에 비해 많은 과정(표)를 이용하므로 용량이 커지며 시간이 오래 걸린다.
  • - 이용: 수송계획, 자원배분계획 등에 유용하게 쓰임.
slide5

Dynamic Programming

예 제

Recursive nature of computations in DP

(Shortest-Route Problem)

Node 1 에서 Node 7 로의 Shortest-Route

2

10

5

4

6

13

1

7

9

3

9

7

5

11

6

15

4

slide6

Dynamic Programming

f1

f1

6

6

f2

f2

Solution

2

2

16

16

10

5

5

f3

f0

6

0

9

9

4

20

13

9

1

3

3

7

18

18

9

5

11

7

7

7

6

6

15

4

4

Stage 1

Stage 2

Stage 3

slide7

Dynamic Programming

Solution

Shortest distance

node 1 to node 2 =6

node 1 to node 3 =9

node 1 to node 4 =7

Node 5까지의 최단거리=min{(node i까지의 최소거리)+(node i에서 node5까지의 최소거리)}

slide8

Dynamic Programming

f1

f1

6

6

f2

f2

Solution

2

2

16

16

10

5

5

f3

f0

6

0

9

9

4

20

13

Shortest distance

node 1 to node 5 =16

node 1 to node 6 =18

node 1 to node 7 = 20

9

1

3

3

7

18

18

9

5

11

7

7

7

6

6

15

4

4

Stage 1

Stage 2

Stage 3

slide9

Dynamic Programming

6

6

f2

f2

2

2

16

16

16

10

5

5

f3

f0

6

0

9

9

4

20

13

9

1

3

3

7

18

18

9

5

11

7

7

7

6

6

15

4

4

Stage 1

Stage 2

Stage 3

slide10

Dynamic Programming

Solution

Recursive Equation

까지의 최소거리

까지의 최소거리

node 에서

node 까지의 거리

이 식에서 stage i에 있는 는 반드시 다음 node인 에 관한 식으로 나타내져야한다.

DP에서 는 stage 1 체계의 state라 불린다. Stage i에서의 state란 모든 stage를 이어주는 정보로써 앞으로 남아있는 stage에서의 optimal decision들은 전단계의 stage들을 다시 검토할 필요없이 바로 현단계의 stage에서 결정된다는 것이다.

Stage i에서 state는 이고 이 node는 그 전단계까지의 모든 정보를 포함하고 있다.

Stage i에서는 stage i-1까지의 결과를 다시 검토할 필요없이 Stage i에서 optimal solution을 결정할 수 있다.

slide11

Dynamic Programming

Forward example

Stage i-1까지 누적된 최소거리

i-1에서 i까지의

거리

Stage 1

slide12

Dynamic Programming

Solution

Stage 2.

Stage 3.

따라서 Optimum solution는 이며 20mile.

slide13

Dynamic Programming

f1

f1

6

6

f2

f2

Solution

2

2

16

16

10

5

5

f3

f0

6

0

9

9

4

20

13

9

1

3

3

7

18

18

9

5

11

7

7

7

6

6

15

4

4

Stage 1

Stage 2

Stage 3

slide14

Dynamic Programming

BackWard example

i에서 i+1까지의

거리

Stage i+1까지 누적된 최소거리

Stage 3.

slide15

Dynamic Programming

Solution

Stage 2.

Stage 1.

따라서 Optimum solution는 이며 20mile.

slide16

Dynamic Programming

f2

f3

14

14

f1

f1

Solution

2

2

4

4

10

5

5

f0

f4

6

20

14

14

4

0

13

9

1

3

3

7

5

5

9

5

11

7

15

15

6

6

15

4

4

Stage 1

Stage 2

Stage 3

slide17

Dynamic Programming

Solution

Selected DP Applications

a. Knapsack/fly-away/cargo-Loading Model

To LP-Equation

item n 의 소득

item n 의 개수

item n 의 무게

-item i의 소득과 개수의 곱을 더한 것은 총 소득이며 이를 최대화 시키는 과정이다.

-item i의 무게와 개수의 곱을 더한 것은 배낭의 총 용량 W보다 작아야한다.

-item i의 개수를 나타내는 는 양수이어야 하며 정수이다.

slide18

Dynamic Programming

Solution

The three elements of the model

1. Stage i는 item i를 나타낸다.

2.Stage i 에 있는 alternatives는 로 나타내지고 이는 kanpsack에 들어있는 item i 의 갯수이다. 합해진 수익(link)은 이다. [ ]가 이보다 작거나 같은 가장 큰 정수라 할때 mi=0,1,...,[ ]가 된다.

3.stage i의 state는 에 의해 나타내지고, 이는 stage(item) i, i+1, …, n까지의 총 합해진(누적된) 무게를 나타낸다. 이는 무게가 모든 stage들을 이어주는 유일한 제약조건이라는 것을 말한다.

slide19

Dynamic Programming

Solution

를 stages i, i+1, n과 주어진 state 에대한 최대이익이라 정의한다.

STEP 1. 를 에 대한 식으로 나타낸다.

STEP 2. 를 가 만의 식이 되도록 바꿔준다

정의에 의해 이고 이는 stage i에서의 무게를 나타 냄

따라서 이고 식은 다음과 같이 나타난다.

slide20

Dynamic Programming

예 제

4 톤 짜리 Vessel에 하나 또는 세개의 도구를 넣을 수 있다. 아래 Table에 각 도구 1, 2, 3 에 대한 무게와 가치가 표시되어 있다. 어떤 방식으로 구성하면 최대의 효율을 낼 수 있는가?

세가지 종류의 물품이 있으므로 stage를 세 군데로 나눈다.

Backward recursion을 사용하면 stage 3부터 시작한다.

slide21

Dynamic Programming

Solution

채워진 Vessel 용량

Link의 Data크기를 생각하지 않고 경로만을 생각할때,

위 예제를

Network으로 나타내면 왼쪽 그림과 같다.

도구의 종류

slide22

Dynamic Programming

Solution

Stage 3.

우선 Stage 3에서는 item3을 담는다.item3의 무게가 1이므로 item3의 갯수는 0에서 4까지 될 수 있다. (vessel의 최대 무게 W가 4이므로)

주어진 (개당)이므로 최대 갯수는 4/1=4개가 된다. 즉, 가능한 값은 0, 1, 2, 3, 4가 된다. 는 에서만 feasible하다. 따라서 infeasible alternatives 일때는 제외가 된다.

의 식으로 stage3의 alternative를 비교 분석할 수 있다.

slide23

Dynamic Programming

Solution

Stage 2.

slide24

Dynamic Programming

Solution

Stage 1.

slide25

Dynamic Programming

Solution

최적해는 다음과 같은 방법으로 구해진다.

주어진 W=4 tons에서 stage1으로부터 가 최적의 alternative 를 가진다. 즉, item1이 2개 있다는 말이다. 이 계산은

이 되며 stage 2에서 이므로 이 되며 식은 이 된다.

Stage3에서도 마찬가지로이 되며

결국 최적해는 이며 f1(4)=$62,000이 된다.

slide26

Dynamic Programming

예 제 - Work-Force size Model

한 공정에서 Project를 실시하는데 5주동안 근로자가 필요하게 되었다. 각 주 별로 최소 5,7,8,4,6명의 근로자가 있어야 Project진행이 가능하다. 특정 i 주에서 근로자를 고용할 때, $400 에 추가적으로 사람당 $200 이 필요하다. 또 i 주에 근무하는 근로자가 최소 필요한 근로자의 수보다 많을경우 초과되는 사람당 $300이 필요하다. 이 때, 근로자에 의한 금전적 손해를 최소화 하는 최적해를 구하여라.

DP Recursive equation

이전 Node까지 거리

= 이전 주까지 지출된 금액

이번 주 근로자 수 변동에 따른 지출 금액

slide27

Dynamic Programming

Solution

근로자수

Project Week

slide28

Dynamic Programming

Solution

DP Recursive equation

b = 주당 필요한 worker수

C_1 (x-b) = 강제 유지비 (필요한 worker와 실제 worker의 차이만큼의 유지)

C_2(x-x’) = 고용비

범위 외의 모든 cost의 값은 0이 된다.

프로젝트의 실행에 있어

각 기간에 필요한 worker의 수를 유지하면서 최적의 비용을 창출

사원유지비, 고용비용에 대한 함수식을 세워

Backward로 최소비용을 찾아간다.

slide29

Dynamic Programming

Solution

DP Recursive equation

Recursive Equation에서

이전 node까지의 누적거리

주어진 조건을 이용하여

Backward Recursive Equation을 푼다.

slide30

Dynamic Programming

Solution

x의 값의 선택에 있어 항상 각 stage에서 임을 명심한다.

또한 각 주에 필요한 worker의 최대가 8명이므로 x가 8보다 크면

최적일 수 없다.

따라서 각 Stage에서 x의 범위는 이 된다.

stage4

stage3

slide31

Dynamic Programming

Solution

stage2

stage1

slide32

Dynamic Programming

Solution

Forward 방향

slide34

Dynamic Programming

예 제 - Equipment Replacement Model

도구 교체에 따른 총 손익의 계산

도구를 이용하여 service하는데 에 있어 이 도구를 계속 이용 할 수록 도구 자체의 경제적 가치, 도구를 이용한 이득 유지비용 등이 달라 지게 된다.

이 변화하는 가치의 값을 이용하여 최대의 이윤을 창출하기 위한 도구 교체 시기를 알아본다.

DP Recursive Equation

앞에서의 Application과는 달리 도구를 교체하는가 하지 않는가에 따른 Recursive Equation이 달라진다.

r(t) – c(t) + if KEEP (유지)

= max

r(0) – s(t) – I –c(0) + if REPLACE(교체)

r(t) t기간 동안 사용된 도구로부터의 이윤

c(t) t기간 동안 사용된 도구의 유지비

s(t) t기간 동안 사용된 도구의 가치

I 새 도구의 가격 (새 도구로의 교체비용)

slide35

Dynamic Programming

예 제

한 회사에서 현재 3년된 기계를 향후 4년동안 교체, 유지를 하여 사용한다 한다.

단, 기계의 나이가 6년이 될 경우 반드시 교체하며, 기계 교체시 비용은 $100000이다. 기계의 나이별로 소득, 기계의 가치, 유지비가 아래와 같을 때, 4년후 최대 이익을 창출할 최적해를 구하자

조 건

기계를 새것(Age=0 yr)으로 교체시 =$100000

slide36

Dynamic Programming

Solution

6

K = Keep

R = Replace

S = Salvage

6

K

R

5

5

K

R

4

Machine age

4

4

K

S

K

R

End

3

S

Start

3

3

3

K

R

R

K

S

2

2

3

2

2

R

K

R

S

K

K

R

R

R

1

1

1

1

1

1

2

3

4

5

I=$100000

Decision year

slide37

Dynamic Programming

Solution

  • Start – 3년 사용한 machine으로 시작
  • R(Replace) 시 새 machine으로 교체됨으로 Machine age는 1년이 됨
  • K(Keep)시 1년 더 사용하므로 전 년도보다 1년 더 age가 올라감
  • 4년째 6년 사용된 Machine이 나오므로 반드시 새것으로 교체한다.

이제 DP Equation

를 이용하여 Solution을 구한다.

r(t) – c(t) + if KEEP

= max

r(0) – s(t) – I –c(0) + if REPLACE

slide38

Dynamic Programming

Solution

마지막 해 교체시 그 다음해에 무조건

1년된 기계를 팔게 된다.

Stage 4

Stage 3

slide39

Dynamic Programming

Solution

Stage 2

Stage 1

따라서 Optimal Solution은 $55,300 가된다.

이제 교체시기를 알아보기 위해 Stage를 거슬러 올라가본다.

slide40

Dynamic Programming

Solution

Stage 1

Stage 2

Stage 2

slide41

Dynamic Programming

Stage 3

Stage 4

slide42

Dynamic Programming

따라서 아래 최적의 비용을 위해 아래 도표와 같이 교체시기를 정하면 된다.

1년2년 3년 4년

따라서 위와 같이 교체 시기를 정할때,

최소비용은 $55,300 이다.

slide43

Dynamic Programming

예 제 - Investment Model

각 은행마다 이율, 투자에 따른 소득이 다르다. 기간마다 어떠한 곳에 투자해야 최대의 이익을 보는지 DP를 이용하여 구해본다.

Investment Model의 목적함수는 아래 식과 같다.

n년에 투자로 인한 소득의 합

그 때의 소득은 투자한 금액(I)에 이윤 alpha를 곱한 값과 같다.

(여기서 x는 그 해에 투자할 수 있는 금액 )

slide44

Dynamic Programming

투자할 수 있는 금액은 은행 1,2에 투자할 금액의 합과 같으며 전년도에 각 은행에 투자한 돈에대한 Bonus금과 그 해 투자할 P의 합과 같다.

q_1, q_2  은행 1,2에 투자한 비용에 대한 Bonus 비율

DP Recursive Equation

slide45

Dynamic Programming

예 제

올해 $4000를 투자하고 그 다음 3해를 $2000을 각 년마다 투자하고 싶다.

첫 번째 은행에서 제안한 이자율은 연간 8%이고 후 4년간의 보너스는 1.8%, 1.7%, 2.1%, 2.5%가 된다. 두 번째 은행에서 제안한 연 이자율은 첫 번째 은행보다 0.2%낮지만 보너스는 .5%더 높다. 4년 뒤 축적된 금액의 최대값을 구하여라.

문제에서 주어진 조건

각 해의 투자금액

은행1 연이율

은행2 연이율

은행1 에서 각 연별 Bonus 율

은행2 에서 각 연별 Bonus 율

구한 조건을 이용하여 Equation을 푼다.

slide46

Dynamic Programming

Stage 4.

함수 는 에서 선형이고 의 범위를 가지므로 의계수가 음인 상황에서 0일때 최대값을 갖는다. 따라서 Stage 5의 해는 다음과 같이 정리된다.

slide50

Dynamic Programming

일때, 최적해를 구할 수 있다 최적 일 때, x 값을 구하면투자 결과는 아래 Table과 같이 나타난다.