group members amarasena r.g.c. (061004d) de mel w.r. (061013e) dolapihilla i.n.k. (061017u)...

27
GROUP MEMBERS AMARASENA R.G.C. (061004D) DE MEL W.R. (061013E) DOLAPIHILLA I.N.K. (061017U) KUMARAJITH R.M.E. (061031G)

Upload: madison-morgan

Post on 02-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

GROUP MEMBERSAMARASENA R.G.C. (061004D)DE MEL W.R. (061013E)DOLAPIHILLA I.N.K. (061017U)KUMARAJITH R.M.E. (061031G)

Dynamic Programming

Dynamic Programming is an algorithm design method

that can be used when the solution to a problem may

be viewed as the result of a sequence of decisions.

Typical steps of Dynamic Programming Characterize the structure of an optimal solution.

Recursively define the value of an optimal

solution.

Compute the value of an optimal solution in a

bottom-up fashion.

Compute an optimal solution from

computed/stored information.

Application areas

Airline

Hotel

Apparel

Manufacturing

Healthcare

Broadcast

Energy

Rail

Tour operators

Cargo

Restaurants

Golf

Car rental

Applications

Network Problems

Man power scheduling

Inventory management

Resource allocation Problems

Optimal Stopping Problems

Applications cont.

Bioinformatics –

computerized analysis of biological data

the use of computers to extract and analyze

biological data, especially in studying the

nucleotide sequences of DNA and other nucleic

acids

Computer science: theory, graphics, AI, systems.

Network Problem

Many applications of dynamic programming

reduce to finding the shortest (or longest) path

that joins two points in a given network.

For larger networks dynamic programming is

much more efficient for determining a shortest

path than the explicit enumeration of all paths.

e

c

fd

g

h

cc

Example

Several paths

Various distances

Minimum distance?

• Collection and delivery problems

• Robotics

• Board drilling

Inventory Problems Dynamic programming can be used to

solve an inventory problem with the following characteristics:1. Time is broken up into periods, the

present period being period 1, the next period 2, and the final period T. At the beginning of period 1, the demand during each period is known.

2. At the beginning of each period, the firm must determine how many units should be produced. Production capacity during each period is limited.

3. Each period’s demand must be met on time from inventory or current production. During any period in which production takes place, a fixed cost of production as well as a variable per-unit cost is incurred.

4. The firm has limited storage capacity. This is reflected by a limit on end-of-period inventory. A per-unit holding cost is incurred on each period’s ending inventory.

5. The firms goal is to minimize the total cost of meeting on time the demands for periods 1,2, …., T.

Resource Allocation Problems

Resource-allocation problems, in which limited

resources must be allocated among several activities,

are often solved by dynamic programming.

To use dynamic programming to do resource

allocation, three assumptions must be made:

The amount of a resource assigned to an activity

may be any non negative number.

The benefit obtained from each activity is

proportional to the amount of the resource

assigned to the activity.

The benefit obtained from more than one activity is

the sum of the benefits obtained from the

individual activities.

Example

Company having several plants

Several projects

Limited investment

Maximize revenue?

Optimal Stopping Problems

A special class of problems involving a

discrete choice are those in which there is a

single decision to put an end to an ongoing

problem.

A student must decide when to give up trying to

solve a homework problem.

A firm must decide when to exit an industry.

A firm decides when to stop working on the

development of a product and to launch it

Applications in detail

Managing warehouse space

Several items

Total volume

Value of unit volume

Maximize revenue?

Replacing machines

To calculate the maximum time for using a machine.

Machine price

Operating and maintaining cost

Selling price

Applications cont.

Number of teams can be allocated to different

areas in such a way that the total effectiveness

is high

Number of days can be allocated for specific

tasks.

Dynamic Programming in High Density Barcodes

Symbol Technology has developed a new design for barcodes, that has a capacity of several hundred bytes.

In chess playing software

Can use dynamic programming in developing

chess playing software

Dynamic programming in Civil engineering

The application of dynamic programming to slope stability analysis

- Stresses acting can be analysed

Dynamic programming in the fields of structural engineering and water resources engineering.

Used in continuous beamsgeometric layout of trusswater allocationcapacity expansionreservoir operation

Advantages of Dynamic programming

Better control

Less complex

Focused approach

Realistic approach

Limitations

Cost

Time

Thus dynamic programming can only be efficient

when there are not too many partial results to

compute!

Thank you