• Tidak ada hasil yang ditemukan

Dynamic Programming Introduction - Nptel

N/A
N/A
Protected

Academic year: 2024

Membagikan "Dynamic Programming Introduction - Nptel"

Copied!
16
0
0

Teks penuh

(1)

Dynamic Programming

Introduction

(2)

Introduction and Objectives

Introduction

¾ Complex problems are sometimes solved quickly if approached in a sequential manner

¾ Dynamic Programming : Sequential or multistage decision making process

¾ Basic approach behind dynamic programming: Solution is found out in multi stages

¾ Works in a “divide and conquer” manner Objectives

To discuss the Sequential Optimization an Multistage Decision Process

To represent a Multistage Decision Process

To describe the concept of sub-optimization and principle of optimality

(3)

Sequential Optimization

¾

Problem is divided into smaller sub-problems

¾

Optimize these sub-problems without losing the integrity of the original problem

¾

Decisions are made sequentially

¾

Also called multistage decision problems since decisions are made at a number of stages

¾

A N variable problem is represented by N single variable problems

¾

These problems are solved successively to get the optimal

value of the original problem

(4)

Sequential Optimization …contd.

¾

Serial multistage decision process: Single variable problems are connected in series so that the output of one stage will be the input to the succeeding stage

¾

For example, consider a water allocation problem to N users

¾

The objective function is to maximize the total net benefit from all users

¾

The problem can be solved by considering each user

separately and optimizing the individual net benefits, subject to

constraints and then adding up the benefits from all users to get

the total optimal benefit

(5)

Representation of Multistage Decision Process

¾ Consider a single stage decision process

¾ Here

¾ S1 is the input state variable

¾ S2 is the output state variable

¾ X1 is the decision variables and

¾ NB1 is the net benefit

¾ The transformation function for the input and output is S2 = g(X1, S1)

¾ Net benefits are expressed as a function of decision variables and input variable

NB1 = h(X1, S1)

Stage 1 Input S1

Net Benefit, NB1

Decision variable, X1

Output S2

(6)

Representation of Multistage Decision Process

…contd.

¾ Now, consider a serial multistage decision process consisting of T stages

¾ For the tth stage the stage transformation and the benefit functions are St+1 = g(Xt, St)

NBt = h(Xt, St)

Stage 1 St Stage t Stage T

NBt

Xt

St+1

S1 S2

NB1 NBT

X1 XT

ST ST+1

(7)

Representation of Multistage Decision Process

…contd.

¾ Objective of this multistage problem is to find the optimum values of all decision variables X1, X2,…, XT such that the individual net benefits of each stage that is expressed by some objective function, f(NBt) and the total net benefit which is expressed by f(NB1, NB2,…, NBT) should be maximized

¾ Dynamic programming can be applied to this multistage problem if the objective function is separable and monotonic

¾ An objective function is separable, if it can be decomposed and

expressed as a sum or product of individual net benefits of each stage

or

( )

∑ ∑

= =

=

= T

t

T

t

t t

t h X S

NB f

1 1

,

( )

= = =

= T t t

T

t h X S

NB

f ,

(8)

Representation of Multistage Decision Process

…contd.

¾ An objective function is monotonic if for all values of a and b for which the value of the benefit function is ,

then,

is satisfied

( x

t

a S

t

) ( h x

t

b S

t

)

h = , ≥ = ,

( x

1

, x

2,

..., x

t

= a ,..., x

T

, S

t+1

) ( ≥ f x

1

, x

2,

..., x

t

= b ,..., x

T

, S

t+1

)

f

(9)

Types of Multistage Decision Process

¾

A serial multistage problem can be divided into three categories

¾

Initial value problem

¾ Value of the initial state variable, S1 is given

¾

Final value problem

¾ Value of the final state variable, ST is given

¾ Final value problem can be transformed into an initial value problem by reversing the direction of the state variable, St

¾

Boundary value problem.

¾ Values of both the initial and final state variables, S1 and ST are given

(10)

Concept of Sub-Optimization

Consider the objective function consisting of T decision variables x1, x2,

…, xT

satisfying the equations, St+1 = g(Xt, St)

NBt = h(Xt, St) for t = 1,2,…,T

To solve this problem through dynamic programming, the concepts of sub-optimization and principle of optimality are used

( )

∑ ∑

= =

=

= T

t

T

t

t t

t h X S

NB f

1 1

,

(11)

Concept of Sub-Optimization …contd.

¾ Consider the design of a water tank in which the cost of construction is to be minimized

¾ Capacity of the tank to be designed is K

¾ Main components of a water tank include (i) tank (ii) columns to support the tank and (iii) the foundation

¾ Optimization can be done by breaking the system into individual parts and optimizing each part separately

¾ While breaking and sub-optimizing, a logical procedure should be used; otherwise this approach can lead to a poor solution

(12)

Concept of Sub-Optimization …contd.

¾

For example, sub-optimization of columns without considering the other two components may cause the use of heavy

concrete columns with less reinforcement, since the cost of steel is high

¾

But while considering the sub-optimization of foundation

component, the cost becomes higher as the foundation should be strong enough to carry these heavy columns

¾

Thus, the sub-optimization of columns before considering the

sub-optimization of foundation will adversely affect the overall

design

(13)

Concept of Sub-Optimization …contd.

¾ In most of the serial systems sub-optimization can start from the last component (or first component) since it does not influence the other components

¾ Thus, for the above problem, foundation can be suboptimized independently

¾ Then, the last two components (columns and foundation) are considered as a single component and sub-optimization is done without affecting other components

¾ This process can be repeated for any number of end components

(14)

Process of sub-optimization

Tank Columns Foundation

Original System

Tank Columns Foundation

Suboptimize design of Foundationcomponent

Tank Columns Foundation

Suboptimize design of

Foundation & Columns together

Tank Columns Foundation

(15)

Principle of Optimality

¾

Belman stated the principle of optimality which

explains the process of multi stage optimization as:

¾ “An optimal policy (or a set of decisions) has the property that whatever the initial state and initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision.”

(16)

Thank You

Referensi

Dokumen terkait

In this example, the variable $var was explicitly defined as global, meaning that after the func- tion is called, the variable will exist outside the function as well.. The output

Programming languages always have commands for getting data into and out of variables and for doing computations with data. For example, the following “assignment statement,”

This study aims to measure the influence of investment decision variables proxied by the asset structure, the financing decision represented by the capital structure variable which is

IMPORTANT: If you give each value in a program a meaningful, descriptive variable name, it will help you think more clearly about the problem you are solving and it will help you

Roughly speaking, the linear programming problem consists in optimiz- ing (that is, either minimize or maximize) the value of a linear objective function of a vector of

The following example demonstrates running Python interactively from the command line and then running the hello.py program.. Executing a

For Palm OS Garnet and earlier versions of Palm OS, the CodeWarrior IDE has a built-in debugger that can debug applications running on an actual serial-connected handheld, on POSE,

• “Object” means a particular item that belongs to a class – Also called an “instance” • Example String s1 = "Hello"; – Here, String is the class, and the variable s1 and the value