Return to Index
Operations Research Models and Methods
Computation Section
Subunit Dynamic Programming Data
 - Resources: Data

The problem addressed in this section is the allocation of scarce resources to alternative activities. The problem is often used as an introduction to dynamic programming. The resources problem, as this is page is written, is only available for the deterministic dynamic programming, DDP. As often is true for DDP models, there is a math programming model that more effectively solves the linear version of this problem. We describe the math programming model below. The amounts of left over resources are modeled explicitly so that resources not used in the allocation can be given a nonzero value.

mp parameters

Written as a mathematical program, the resource problem is:

mp formulation

This is the linear version of the problem that for most instances is easily solved by math programming solution techniques. The add-in creates a DP version of the problem. It can handle separable nonlinear as well as linear models


Data for the Resource Model

model dialog

We create the model by choosing Data from the DP Data menu. The model selection dialog is presented. Here we consider the Resource problem with a deterministic DP model. When this page is written, only the DDP model is available.

resource dialog

Fill the name field with a short name with no spaces or punctuation. The name, number of items, and number of resources are fixed once the worksheet is created. The maximum of each item can be changed on the data worksheet.

By checking the Make Random Problem box, the model parameters are assigned randomly. The Maximize Objective button determines the direction of optimization.

  The data form is below. The yellow cells should not be changed. The white cells can be changed to reflect the current problem. The data shown was randomly generated using a fixed seed. This example has only one resource and four items.

dp constraints


Clicking the Build Model button on the top of the data worksheet, calls the DP Models add-in to construct the model worksheet. The Build/Modify Model button also constructs the model worksheet, but first presents the Model dialog. This allows the model parameters to be modified by the user.

Clicking the Build Data Table button constructs tables for the revenue and resource use data. This allows the representation of nonlinear forms.


The Math Programming Model

The math programming model is shown below as constructed by the Math Programming add-in. Although the problem has only one constraint, the default minimum for the add-in is two constraints. The second dummy constraint is not restricting. The model has four integer variables representing allocation amounts. The fifth variable is the unused resource.


math program for one constraint

  The optimum solution two units of item 2 and one unit of item 4. The objective is 28 and all the resource is used.


The Table Option

  A two constraint data table is below with data provided by random integer values.
two constraint data
two constraint table Clicking the Build Data Table button calls the add-in to make tables for benefits and resource use as a function of the number of items selected. The tables take data from the linear data table for the first item. The second item terms of the table are 2 times the first item value. Thus, the original table values represent the linear problem. The values in the table can be changed however, to show any separable nonlinear function of the number of items. Since the DP algorithms enumerate all possible solutions, the linearity of the revenue or resource usage terms has no affect on the model.

The math programming model for the two constraint linear problem is shown below. The solution uses two of item 2. The remainder of the resources (22 and 17) is left over. Apparently, the values of assigning the resources to one of the remaining alternatives is not justified.


one constraint mp


The DP model and solution are described on the next page.

Return to Top

tree roots

Operations Research Models and Methods
by Paul A. Jensen
Copyright 2004 - All rights reserved

Next Page