+ All Categories
Home > Documents > Staff Papers Series - CORE · generate input data for a linear programming problem approximating a...

Staff Papers Series - CORE · generate input data for a linear programming problem approximating a...

Date post: 07-Jun-2019
Category:
Upload: vumien
View: 214 times
Download: 0 times
Share this document with a friend
85
... Staff Papers Series STAFF PAPER P82-15 i, 4 Matrix Generator and Optionals (MGAO): Users Guide Howard McDowell 1 Universityof Minnesota Institute of Agriculture, Forestry and Home Economics St, Paul. Minnesota 55108
Transcript
Page 1: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

...

Staff Papers Series

STAFF PAPER P82-15

i,4

Matrix Generator and Optionals (MGAO):

Users Guide

Howard McDowell

1

Universityof Minnesota

Instituteof Agriculture,Forestry and Home Economics

St, Paul. Minnesota 55108

Page 2: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

Matrix Generator and Optionals (MGAO):

Users Guide

Howard McDowell

September 1982

Staff papers are published without formal review within theDepartment of Agricultural and Applied Economics.

Page 3: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

MGAO - Operation Outline

H. McDowell

Page 4: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

Table of Contents

Preface

I. INTRODUCTION

11, THEORETICAL REVIEW

III. DATA ENTRY

Card Format

Iv. SAMPLE PROBLEMS

Problem OneProblem One,Problem One,Problem Two

Input ExplanationOutput Explanation

Problem Two Input ExplanationProblem Two Dual

VI. HEADER CARDS

VII. FINAL COMMENTS

APPENDIX A. Variable Name

APPENDIX B. Flow Chart

APPENDIX C. Program Listing

Page

3

10

11

23

232935374046

47

50

52

54

63

Page 5: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

Preface

Matrix Generator and Optionals (MGAO) is a computer software package

developed by Paul Chang and Terry L. Roe. The program is designed to

generate input data for a linear programming problem approximating a non-

linear programming problem, submit the generated problem to an optimization

package, from which the user receives standard computer output.

This paper results directly from efforts by the author to utilize

the program and is the first comprehensive documentation written on the

program. It is hoped that this paper will make available a useful computer

program to those interested. Criticism and suggestions are welcome.

Terry L. Roe provided

section and in the general

Apland, Vernon Eidman, and

a significant contribution in the theoretical

organization of the paper. Reviews by Jeff

Boyd Buxton are appreciated.

Page 6: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

I. INTRODUCTION

Matrix Generator and Optionals (MGAO) is a fortran computer program

developed to generate input matrices for mathematical programming algo-

rithm. [1] Of primary importance is its capacity to generate a linear

programming problem approximating a nonlinear programming problem.

Specifically, the program is capable of generating matrices for solving

linear approximations of nonlinear programming problems incorporating linear

or nonlinear supply and d-emandfunctions, linear and nonlinear production

functions having multiple inputs, and substitutability in demand.

The program operates in conjunction with Multi Purpose Optimization

System, MPOS, a system of mathematical programing algorithms developed for

solving optimization problems on CDC 6000/CYBER computers. The system includes

various linear programing (LP), integer programming (1P), and quadratic

programming (QP) algorithms, and an interface with CDC’S APEX, a system

designed for solving large scale linear programming problems. [2]

For purposes of exposition each mathematical program may be viewed as

being composed of two parts, a nonaugmented and an augmented section. The

nonaugmented portion is perhaps best illustrated or characterized by most

traditional linear programming problems. Following Intrilligator, this

portion of the problem may be stated as “choosing nonnegative values of

certain variables so as to maximize or minimize a given linear function

subject to a given set of linear inequality constraints. ...

... max F (~) = ~~

Subject to

Ax< b , X> ()—-—

(where ~ is mxn, &, nxl, ~, lxn, ~, nxl)

Page 7: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-2-

“or, written out in full:

m= F(xl, X2, . ..xn) = Clxl + C2X2 +. ..+ c xnnX,x. ..x1 in

subject to:

allx 1 + a121 ““”+ alnxn ~ bl

a21xl + a22x2 ‘“””+ a2nxn ~ b2

. . .

. . .

. . .

amlxl+ am2x2 ‘“’”+ amnxn ~ bm

‘l :o’x2Z0’””” ’xn ~.o*’’[3l

Clearly, a problem of this nature requires nothing more than defining

the activities (x’s) the coefficients (cts and a’s) and the right-hand-side

(RHS) parameters (b’s). Therefore in this respect, MGAO is simply a means

of entering the data for a linear programming problem, or the linear portion

of a nonlinear programming problem. This specification

nonaugmented problem, i.e. it has not been augmented to

function.

is referred to as the

include a nonlinear

The augmented portion of the matrix is that portion generated by the

program from input data in linear functional form. The principle involved is

that a nonlinear function may be approximated by a number of linear steps

each of which is a separate linear programming activity. Hence, this

technique is also known as separable programming. As the number of steps

increases the loss in accuracy decreases. The nonlinear programming problem

is stated by Intrilligator below.

“The nonlinear programming problem is that of choosing nonnegative values

of certain variables so as to maximize (minimize) a given quasi-concave (convex)

function subject to a set of inequality constraints ....

x—

Page 8: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-3-

or written out in full:

max F(xl...Xn) subject to

‘l”””xn

-gl(xl...xn) ~ bl

gm(xl. ..xn) 5 bm

20,. ..,X‘1

~ 0.’’[4]n

This portion of the problem requires entering the objective function

F(x), and the constraints ~(~), in nonlinear form. MGAO then defines discrete

linear programming activities with the appropriate objective and constraint

activities according to the instructions provided by the user.

The augmented portion of the

portion of the matrix.

In specification of problems

the user is advised to design the

of the matrix, i.e. that part not

matrix is also referred to as the extended

with both nonaugmented and augmented matrices,

matrices such that the nonaugmented portion

containing linear .approximations of nonlinear

equations, is in the upper left hand portion of the matrix and that all

fer or summary columns from the generated rows of the matrix containing

linear approximations of nonlinear functions be on the left hand side.

trans-

the

This

will prevent respecification to fit the program input format. This will

become apparent with examination of the same problems.

II. THEORETICAL REVIEW

Although the program can be used in solving many different types of

problems it was designed to facilitate the solution of sectoral models. The

user is referred to Duloy and Norton, and Klein and Roe. [5]

The concept is that given ’ken-behaved’ supply and demand functions, a

market equilibrium price and quantity may be found by maximizing the area

bounded on the right by the supply and demand curves.

Referring to Figure 1. Equilibrium Solution, the equilibrium price and

quantity, p*, q*, may be found by discovering the quantity that maximizes

(area A and area B).

Page 9: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-4-

s=f~(p)=f~ (q)

A.—-— —--- .

B

/

I

II

ID=F(p)=f;l(q)

I

cl*

Figure 1. Equilibrium Solution.

Page 10: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-5-

Axea Aisthe portion of the integral under the demand curve above p*,

area B is the portion of the rectangle p*q* above the integral under the

supply function. Under certain conditions these areas are commonly referred

to as consumer and producer surplus, respectively. The total area, A+ B = Z

may be stated as follows:

(1) Z=] Oq*fd-l(q)dq -p*q*+p*q*-~Oq*f (q)dqs

where:

-1P =

‘d(q) is an

whereinverse demand function,price is a function of

quantity demanded; and

MC = fs(q) marginal cost is a function of thequantity supplied.

Rearranging the equation for Z,

(2) Z = j’Oq*fd-l(qjdq- /Oq*fs (q)dq.

Provided that Z is aquasi-concave function,is twice continuouslydifferentiable,

and in the domain

to q.

Applying the

of real numbers, q* may be found by maximizing Z with respect

Kuhn-Tucker theorem, the necessary conditions for a

maximum to exist are stated as follows:

(3) ~= f~l(q) - fs (q) SOand~q=O

Rearranging, f~l(q) = fs (q)

Substituting p for fd-l(q) and MC for fs(q) results in the competitive

solution of price and marginal cost being equal.

One may easily complicate this problem by moving to an interregional

problem. Similarly,the total cost function, ~~fs(q)dq could be replaced

input supply functions and a production function.

trade

with

Page 11: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-6-

Following Klein and Roe, the following simple nonlinear programming problem is

specified, and then converted to a linear programming problem. Both equation

and tableau specifications are provided for the linear problem. For a simple

case, derivation of the economic information embodied in the dual variables

of the LP problem is provided. [6]

Let the demand function for the jth commodity, j = 1,..., J, be specified

in inverse form as:

(4) pj = aj - bjqj

where qj is the quantity demanded, a. is the intercept, and bj is the changeJ

in the quantity of qj demanded given a change in its own price, pj.

Let the supply side be specified by the following total cost and

conversion equations.

(5) Let qj 1‘mjxj’J=

>...9 J

where m > 0 is the

Let cj be the

The nonlinear

conversion factor for x into q.

unit COSt Of Xj$ j = 19..*J.

programming specification of this problem is

(6) maxZ = Zjoq(aj - bjqj)dqj - Zc,x. + ZA.(m.x.-q.)q,x j ~JJ j J JJ 3

or in matrix form,

(7) maxZ = Q’(A- .5BQ) -C’X+ A((MX) ’-Q’)Q,X

where:

Qis Jx1 of elements qj

B is JxJ of elements b.J

C is Jx1 of elements cj

X is Jxl of elements xj

A is Jx1 of elements Aj

M is JxJ of elements mij, all mij = O for i # j.

Page 12: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-7-

The procedure for linearizing the problem is to find the definite integral

of each of the j demand equations,

-b.q., and evaluate the integrals forqj varying over i, or‘j = aj JJ

qji, i= l,..., I, overj =1,..., J, or

-0.5bjq2‘ji = ajqji

For each commodity, qj, the area under its demand curve is found for

i=l to I steps. Each of these steps, w:,, are to be activities in the

linear programming format, and

restrictions (to be explained)

feasibility.

JL

enter the solution at levels a. .. CertainJ1

are placed ‘n ‘he aji ‘n ‘rder ‘0 ‘nSure

The linear programming problem may be stated as follows:

(8.1) max Z“= ZZajiwji - Zc,x.a, x ji jJJ

Subject to the J commodity balance constraints

.

‘8”2) ‘jxj - ~ajiqji 2 0 j= l’”””’ “

and J convexity constraints,

(8.3) Za <1 j=l,. ..,Ji ji

or max ZO = ZZa. w.. - Zc.x. + Za(m.x. -ji Ji J1 Zajiqji) + ZA!(l-Za.4)

a, x jJJjJJ jJ i J1

This problem is shown in tableau form below in Table 1..

The convexity constraints are crucial to the problem. Duloy and Norton

have shown that if the nonlinear problem is concave, a nontrivial solution

will exist where the following will hold for each of the j activities. Either,

(a) aji= 1, all other ajs=Ofor a particular j,

(b) aji<l, all other aj~=() for a particular j, or

(c) aji+aj(i+l) = 1 and all other a. =0, s + i, i+l.JS

[7]

Page 13: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-8-

Table 1. Specification of Commodity Market Demand in Linear Programming Format.

Constraint supplyConstants Activities (x) Demand Activities (1) Dual

Commodity 0< m -ql -q2... -qI Market Price (T)Balance

Convexity 1> 1 1 ... 1 Consumer Surplus (T*)Constraint

Objective z = -c‘1 ‘2 ““”WI

Consumer PlusFunction Producer

Surplus

Source: Klein, Harold E. and Terry L. Roe, “Agriculture Sector Analysis ModelDesign: The Influence of Administrative Infrastructure Characteristics,”Table Al, p. 299.

Page 14: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-9-

The implication is that depending on the difference between segments

q and q, the solution to the linear problem, 2°, can be shown to beji --j(i+l)

an arbitrarily close approximation of the solution to the nonlinear problem Z.

Given this arbitrary closeness of the linear to the nonlinear problem,

it can be shown that the duals of commodity balance rows are equal to the

prices, and that the duals of convexity constraints are equal to consumer

surpluses. Case (a) is used for simplicity, otherwise the problem is

complicated by combination ofa. , or fractional values of a. ..J1’ -J1

For a positive a.., the Kuhn-Tucker conditions require that,J1

azo .: - Ajqji - a; = o.aa.Ji

‘ji

For a basis variable, it follows from the nonlinear problem that

:= pji-Aj = o.

Therefore A., the shadow price or dual for the commodity balance rowJ

is equal to the equilibrium commodity price.

Since a.. is assumed to be one, and Z“ is an approximation of Z, PjiJl

may be substituted for A. andJ

az” -A;=o.

aaji‘=‘ji - ‘jiqji

That is, A;, the shadow price on the convexity constraint is shown to be

the consumer surplus for q. atp...Ji J1

These results can be extended to the production side in the case of

total cost expressed as an integral of marginal cost instead of average cost

times quantity. In the case of production

shadow prices on the convexity constraints

the holder of the processes .

functions, it is asserted that the

are producer surpluses accrued to

Page 15: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-1o-

It should be pointed out that fixed factors having a positive opportunity

cost are also included in calculations of other relevant shadow prices. The

same is true for any other form of price or quantity restriction. In order

to determine exactly what is involved in the determination of a dual value,

Kuhn-Tucker conditions should be stated for each problem, from which

expressions for all dual values may be derived.

In summary:

1. The shadow prices on commodity balance constraints for demand functions

are equilibrium market prices for the commodities.

2. The shadow prices on convexity constraints for demand functions are

consumer surpluses associated with the commodities.

3. The shadow prices on factor balance constraints for supply functions

are equilibrium market prices for the factors.

4. The shadow prices on convexity constraints for supply functions are .

producer surpluses associated with the factors.

5. The shadow prices on convexity constraints for production functions

are producer surpluses associated with production of the commodities.

111. DATA ENTRY

In proceeding to the section explaining

useful for the user to have a broad view of

The first block of information includes

portion of the matrix, the algorithm and/or

the data entry it should be

how the program operates.

the dimensions of the nonaugmented

system desired (one of several

MPOS algorithms or APEX). The objective function, constraints, and if an

integer program, the integer variables are read in.

The second possible block of information is in conjunction with

an option to read in a second data set to be inserted some place

within the data set previously read in for the initial

Page 16: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-11-

models.

columns

matrix,

The

This option could be useful in the case of expanding the number of

or rows somewhere in the middle of the nonaugmented portion of the

without having to repunch a new data deck.

third possible block of data includes the information necessary to

generate linear activities approximating a nonlinear function. This block

is further divided into two groups of functions and associated procedures.

The simpler of the two entails taking linear steps of a single variable

function, and calculating the coefficients for the objective function and

the row constraints. Examples of this type of function include supply and

demand curves where quantity is a function of price. The program calculates

the area under the curve at each quantity increment. These values are then

placed into the objective and appropriate constraint specification by the

algorithm.

The more complex of the two nonlinear functions involves the generation ofan

input substitution surface. An isoquant defining the relationship of an

output, Q, two inputs X1, and X2, in Cobb-Douglas functional form is provided

for. It is also conceivable that if Q were viewed as a composite consumption

good, the surface could represent how X1 and X2 substitute in the consumption

of Q. For example Q could be fruit, Xl oranges, and X2 apples, the program

will calculate as many activities as necessary to satisfy the steps in Q

desired.

Card Format

In moving through the

listing of variable names

found in Appendices A, B,

data input cards, the user may wish to refer to the

and options, the flow chart, and the program listing

and C, respectively.

Input cards

given. A short

explanation may

are listed in read statement form, each with its fortran format

explanation is given where program branches occur, or where an

otherwise be helpful.

Page 17: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-12-

1. READ (5,500) IDM, Ml, COL, ROW

500 FO~T [11, 12,215]

IDM =0 for maximum

=1 for minimum

Ml, algorithm within MPOS

= 01, - REGULAR -, 2-phase simplex

= 02, - REVISED -, revised simplex

= 03, - DUAL -, dual simplex (LP)

(LP)

(LP)

= 04, - MINIT -, primal-dual (LP)

= 05, - BBMIP -, branch and bound mixed integer program (1P)

= 06, - DSZIIP -, direct search 0-1 integer program (1P)

= 07, - GOMORY -, Gomory’s cutting plane (1P)

= 08, - WOLFE -, Wolfe’s quadratic simplex (QP)

= 09, - BEALE’-, Beale’s algorithm (QP)

= 10, - LEMKE -, Lemke’s complementary pivot algorithm (QP)

= 11, - APEX 1 -, MPOS-APEX data file interface (GENERAL)

= 12, - APEX 2 -, MPOS-APEX data file interface (GENERAL)

COL, number of columns in nonaugmented matrix

ROW, number of rows in nonaugmented matrix.

2. READ (5,501) TITLE

501 FORMAT (8A1O)

3. If the problem is an integer programming problem, the following cards are

punched indicating the number of,integer variables and variable names. If

the problem is not 1P, then the card block is left out.

READ (5,503) N2, (ACT(II), II.= 2,N2)

503 FORMAT (13, llA7/(3X, 11A7))

N2, the member of integer variables

ACT (12), the activity names

Page 18: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-13-

4. Read in the nonaugmented or traditional

READ (5,505) (ACT(IA), IA = 1, COL)

505 FORMAT (3X, 11A7)

ACT(IA), activity names

LP activities

COL, number of columns in nonaugmented matrix

5. Read in the nonzero coefficients of the objective

nonaugmented matrix. Activities such as transfer

objective value need not be entered.

function of’the

columns having no

READ (5,506) (ICOL(IB), SIGN(IB), COEF(IB), IB = Jl, J1+4)

506 FORMAT (5(14, Al, F1l.2))

ICOL(IB), the integer number of the activity, ACT(IA) for

which an objective value is entered. Numbers

begin with the left hand side of the matrix with

1, and run consecutively up through COL.

SIGN(IB), the sign, -!-or -, of the objective value

COEF(IB), the real value of the objective function.

Note that up to

FLAG - Once

five such entries may be entered on each card.

all objective values are read in, or if there are

no nonzero values

then ICOL = -999.

in the first four

associated with the nonaugmented matrix,

So at least one card, with entrY -999

columns is necessary if any nonaugmented

activities are entered.

6. Read in the constraints for the nonaugmented matrix.

READ (5,506) (ICOL(IF), SIGN(I’F),COEF(IF), IF=J2, J2+4)

506 FORMAT (5(14, Al, F1l.2))

Exactly as in the case of the objective function, only the nonzero

coefficients need be entered. In order to signify the completion

of input for each constraint, three possible values may be assigned

to ICOL. These values coincide with the nature of the constraints.

Page 19: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

ICOL = -100,

ICOL = -200,

ICOL = -300,

Just as in the case

-14-

S RHS constraint

= RHS constraint

2 RHS constraint

of the column coefficients, the right hand side

parameter is entered with SIGN and

ICOL value. No other indicator is

completion of

If this block

an end-of-file

COEF along with the appropriate

necessary to signify the

constraint input.

of cards complete the data input, it is followed by

(EOF) card. This card is multiple punched, 7-8-9,

in the first column, and completes the input.

7. Read in data for the insertion option.

READ (5,511) ISID

511 FORMAT (15)

If new activities are to be inserted, ISID is given the value

of 99999, and a subroutine called INSERT is called. If the user does

not desire to use the insert option, a blank

If the insert option is used, the cards

card is necessary.

following ISID, and

used by the subroutineINSERT are listed below.

1. Location of insertion

READ (5,511) NINS

511 FORMAT (15)

NINS is the column number of the existing nonaugmented matrix

at which the new activities are to be inserted.

2. Number and name of inserted activities

READ (5,503) NAA, (AACT(IA), IA = 1, NAA)

503 FORMAT (13, llA7/(3X, 11A7))

Page 20: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-15-

NAA, the number of new activites to be inserted.

AACT, names of the new activities.

3. Read in objective of inserted activites.

READ (5,506) (AICOL(IB), ASIGN(IB), ACOEF(IB), IB=l,NAA)

506 FORMAT (5(14, Al, F1l.2))

This input is identical in format to the objective

data entered above. However unlike the earlier case in

which only nonzero coefficientswere entered, an objective

value for each inserted activity must be entered.

AICOL, the column number of the inserted activity, beginning with 1.

ASIGN, the sign on the coefficient.

ACOEF, the objective coefficient.

4. Read in number of nonzero coefficients to be inserted.

READ (5,511) NBB

511 FORMAT (15)

NBB, the number of nonzero constraint coefficients to be inserted.

5. Read in the coefficients

READ (5,512) (AEWROW(lX), AEWCOL(IX), AEWSIGN(IX), AEWCOEF(IX),

IX= 1, NBB)

512 FORMAT (4(213, Al, F13.2))

AEWROW, row number of the coefficient.

AEWCOL, column number of the coefficient.

AEWSIGN, sign of the coefficient.

AEWCOEF, the coefficient.

Note, this option has not been tested and

not the

the new

choice.

follows

numbers for AEWROW and AEWCOL are

matrix. However, this appears to

As above, if this block of data is

it is unclear whether or

row and column numbers of

be the most logical first

Einal, then an EOF card

the insertion and the input is completed.

Page 21: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-16-

7. Read in information for extended functions from which the

augmented portion of the matrix is composed.

This section is characterized by having two options. The

first is to generate linear activites from a single nonlinear

function, such as a supply or demand function, the second is

to generate a substitution relationship between 2 variables

according to an exponential function, such as a production

function with 2 input variables. Data entry is given for both

of these cases.

READ (5,510) EID, RM, IDPV(JA)

510 FORMAT (15, F1O.2, 15)

IDPV, flag for two variable function,

= O, single variable function,

# 0, three variable function.

EID, for IDPV = O, denotes the number of nonzero coefficients

for activities in the nonaugmented matrix in the same row as

the generated activities; for

number of rows necessary for

row each for X~, X2, and Y.

IDPV + 0, EID = 3, denoting the

the exponential function, one

RM, the right-hand-side value for the extended row. This

program is designed for the RHS value of an extended row to

be either 1.0 or 0.0. For each set of activities generatec$a

convexity constraint is

value of 1.0. If a RHS

given a value of zero.

generated automatically having a RHS

value of zero is desired then RM is

Although no example is readily available

for which it may be useful, it is possible to enter a negative

RHS value but not possible to enter a positive RHS value. In

general, RM will be given a value of 0.0.

Page 22: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-17-

Case a. Single Variable Function

This type of function will require the use of a single quantity constraint

row. In the case of a supply or demand function, the generated activities in

the augmented portion of the matrix will require at least one transfer activity

in the same row in the nonaugmented portion of the matrix. It is possible,

however, to generate augmented activities with no other coefficients in

the same row.

In this case, IDPV = O, EID = K, where K is the number of nonzero

coefficients for the row in the nonaugmented portion of the matrix, and

RM= 0.0, unless a negative RHS is desired. Note that in the case where

all three values equal zero, a blank card is still necessary for the program

to proceed.

The following cards are punched in the case of IDPV = O.

1. If EID # O, read in coefficients, otherwise, skip this card and

proceed to 2.

READ (5,506) (ICOL(II), SIGN(II), COEF(II), 11 = l,EID)

506 FORMAT (5(14, Al, F1l.2))

IC06, the number of columns in which the coefficient is to be entered.

SIGN, the sign of the coefficient, + or -.

COEF, the coefficient to be entered.

2. Read in mathematical function to be extended.

The program is designed

the following form:

al Q2w = Clx +C2X +,..

for input of exponential functions of

CLn+ Cnx .

Note that in the case of X being a commodity for which a supply or

demand function is defined, the equation entered is the integral of

the supply or demand function. In the case of supply,the equation

above would represent the total cost function associated with a marginal

cost or supply function of the form:

Page 23: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-18-

CY1 ~2-2 +-1

aW=Mc an

ax = alclx ‘U2C2X ““” + ancnx “

If the first term were m intercept, al would have the value of 1, so

that the value would simply be Cl.

READ (5,508) IJ, (CC(IK), IEXP(IK), IK = l,IJ)

508

IJ,

cc,

FOF@iAT (I5,5(F1O.4, F5.0))

the number of terms in the function.

the coefficients C. for the function.L

IEXP, the exponents ai for the function.

3. Read in the initial value, the magnitude, and number of steps to

be taken in the linearization procedure.

READ (5,509) A(l), DELTA Q, STEP

509 FORMAT (2F1O.4, 15)

Q(l), initial value of the function.

DELTAQ, the increment value, (Qi-Qi_l) Vi = 1, n.

STEP, the number of steps, n, taken.

From the function

the number of columns

and linearization information, the program adds

consistent with the number of steps, and calculates

the area under the function at each step for the objective function.

Two constraints are generated, a quantity allocation constraint

containing the quantity steps specified, and a convexity constraint.

All quantity steps are generated having negative signs. The

direction of the constraint is determined by the program to be, S, in

the case of a supply function, .2, in the case of a demand function.

Page 24: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-19-

Case b. Multiple Variable Function

As stated above, the most obvious use of this option is to incorporate

a production function where two inputs, X1 and ‘2’

are combined in the

production of various quantities of some Y, specified by a Cobb-Douglas

type function.

The concept used

at various levels of

are determined. The

Y= @lx2~2

IL4TI0= (xl/x2),

‘1 = ‘zR’ ‘here

Substituting for

~lx azY= A(X2R) 2

u~ al ClzY=AX2 RX2

is to define

Y. From the

several input ratios, or expansion paths

ratio and Y values, values for Xl and X2

calculation of the ratios follow:

rearranging

R= RATIO .

Xl, and solving for X2.

(X1+32 .Ctl

‘2= YA-lR

1

‘2 = (YA-lR-“+’1-2

For each ratio ri, i= l,...,n, and for varying levels ofY,a unique value

of X2 is calculated which in turn determines the appropriate value of Xl.

This grid linearization is illustrated in Figure 2. The Linearized

Specification of Y = f(x1,x2).

The number of activities generated in the number of steps in Y times

the number of ratios. Three quantity constraint rows, one each for Xl,

X2, and Y, and a convexity constraint row are generated by the program.

Zeroes are placed in the objective function.

Page 25: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-20-

‘2

ratio=2i=2

\ \\

~y

----- .\ 1

\ I

\;

\

\’\’-----

j=2 <

J=l

‘2

\

-.

1

\ I\l

\lu,

~

--\\\

/

//:0 /

(2 a)

/’/

i

ratio=l

‘1

, 1=2

/ratio=2

(2 b)

Figure 2. The Linearized Specification of Y=f(X, ,X7).-i-L

Source: Roe, Terry. “Modeling of Nonlinear FunctionsFormat”. Staff Paper P75-9 [8]

into A Linear Programming

Page 26: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-21-

Values for the first card of this group are as follows:

IDPV # !3,the value 99999 is given in some sample decks

EID ~ 3, the number of quantity rows to be generated

RM = 0.0, right hand side values.

For each of the three rows, the following sequence of cards is necessarv.

1. Read in the number of coefficients in the row in the nonaugmented portion

of the matrix.

READ (5,507) IEID

507 FORMAT (15).

IEID, the number of coefficients.

2. Read in the column, sign, and value of the coefficients

READ (5,506) (ICOL(I1), SIGN(I1), COEF(I1), 11=1, IE1D(13)+1)

506 FORMAT (5(14, Al, F1l.2))

ICOL, the

SIGN, the

COEF, the

column number in which the coefficient is to be entered.

sign of the coefficient .

value of the coefficient .

Important! Note that the right hand side value and the constraint

type must be entered by the user. Therefore the final entry will

have one of the following values for IC(3L;

ICOL = -100— < RHS constraint,

ICOL = -200 —= RHS constraint,

ICOL = -300 — ~ RHS constraint.

3. Read in information pertaining to the ratios to be used in generating

activities.

READ (5,584) NOR,(RATIO(12), 12=1, NOR)

584 FORMAT (13, llF7.2/(3X,

NOR, the number of ratios .

RATIO, the ratio, (xl/x2)o

11F7.2))

Page 27: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-22-

4. Read in the Cobb-Douglas function parameters

Q= Aql X;2

READ (5,585) AA, ALPH1, ALPH2

585 FORMAT (3F1O.2)

PA, the multiplicative coefficient

ALPH1, the exponent on Xl .

ALPH2, the exponent on X2 .

5. Read in the initial value, the magnitude, and the number of

steps to be taken.

READ (5,509) Q(l), DELTAQ, STEP

509 FORMAT (2F1O.4, 15)

Q(l), initial value of the function.

DELTAQ, the increment value.

STEP, the number of steps taken.

This concludes the data input section. It should be pointed out that

once the input is complete, end of file (EOF) card is required. This

card is punched 7-8-9 in the first column.

Page 28: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-23-

n?. SAMPLE PROBLEMS

For illustrative purposes, two sample problems developed by Roe

are provided. The first problem is stated in nonlinear form and then

restated in linear form. Results concerning the values of shadow

prices on commodity balance and convexity constraints are provided.

Provided for both problems are verbal and mathematical specification,

tableau representation, data input deck, MPOS specification, and finally

MPOS summary of results.

Problem One

The first problem is one of maximizing the sum of producers’ and con-

sumers’ surplus, with a variety of perfectly inelastic and elastic,

and sloping supply and demand functions, and a production function.

Three commodities which are perfectly inelastically supplied may be

combined. One of these inputs and an input supplied with an upward sloping

function, may be combined to produce another commodity. The produced

commodity faces a downward sloping demand.

The nonlinear programming specification of the problem follows:

MAxz= .5LACT1 + .9LACT2 + .7LACT3 - 1.5X,J.

- f:2 (X2MX2 + r;

+ Al (90 - .4LACT1

+ a2 (80 - .3LACT1

(90-1.2Y)dY

- .3LACT2)

- .2LACT3)

+ A3 (200 - .4LACT2 - .9LACT3 - Xl)

+ a4 (4X;3 X;5 - Y)

Page 29: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-24-

where:

‘2= supply or marginal cost of X2, and

90 - I*2Y = Inverse demand function for Y.

The nonlinear programming problem is now converted to a linear pro-

gramming problem. Notice that each of the constraints stated in

Iagrangian form corresponds exactly to a row constraint in the tableau

specification of the problem found below.If N

Max Z“ = .5LACT1 + .9LACT2 + .7LACT3 - 1.5X1 - ZL,X1,a ~ ~ ~ym+ Z anwn= n=1

+ Al (90 - .4LACT1 - .3LACT2)

+ A2 (80 - .3LACT1 - .2LACT3)

+ i3 (200 - .4LACT2 - .9LACT3 -X7)—

M+ A4 (x2- Z amX2m)

m=1

M+X5(1- Z am)

m=l

P

+ 17 (~” ap~p -X2)p=l

Page 30: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-25-

(Y - *;l anYn)+ ’10

N

+ ’11 (1 - & an)

Where:

2 ‘2m the area under marginal cost‘*m (X2>dX2 = [0.5X2 ]0 ,Ym = Jo

thor total cost, of X2, at the m quantity of X2.

Wn = Jyn (go - 1.2Y)dY = 90Y-0.6Y2, the area under the demando

(marginal revenue under competitive assumptions), or total revenue

curve,

function

for Y,

at the nth quantity of Y.

a the level at which the mth

quantity steps of X2 is supplied inm’

the solution

a the level at which the nth

n’ quantity step of Y is demanded in the

solution.

the level at which the pth

aP ‘step in the production of Y, from inputs

Xl and X2, enters the solution. Note that the index P embodies both

ratios and quantities. Referring to Figure 2 may be of some help. Given

a particular input ratio i, as quantities j of Y are changed, quantities

of X1 and X2 change accordingly. Therefore the index p runs over both

ratio numbers, and the quantity steps in Y, or P = (ratios) (M).

Linearization Parameters, Problem 1.

supply of X2:

Total cost: W = -0.5X22 area under supply

Page 31: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-26-

Initial X2 = O

AX2 = 10

STEPS = 12

Production of Y

Y = 4X;3 X;5

Initial Y = 10

AY = 10

STEPS = 5

RATIOS

RI.=.4 R2 - .8 R3 = 1.4 R4 = 1.8

Demand for Y

w= 90Y-.6Y

Initial Y = O

AY = 7.5

STEPS = 12

(area under demand)

The matrix, data input, computer specification and results follows:

Page 32: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

oal

VI

z

VI

o

VI

o

VI

o

Al

l-i

VI

F1

VI Al VII

I

I

I

E=c.......

Sd

o........

0

N?~

.

.

.

.

?>;

t+?+

I. :1.. .1

I

I

I

I

III

I

I

{I

II

I. .. .. .. .. .

. .

. .

. .

. .

‘d “dNFax

I

“1

I

I

I1,

I

id I

.

.

.

.

.

I

II

!+ I

I

1+ I

1---- -----I

---— -.

m.

u.

---

(LAG0w+um

I

L Zx

r-lIL“rx

z LOW-I

Im

. I—-” ———

T Jowl

.N

Page 33: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-28-

3. LAiTi

4. j.+lJ+jc IT0,4

;: i~ue.f

7. ~+o,+

8.9. 1

1.0. 5+1*LI11. l-ij*512. L’tu13. “3””1/,.

15. 4:.1*U

1.6. 1-17. . 5-1*U18. 1.19. O-1*{;~on Guef’+21. 14,()22., Lo$u

23. 124, btl*lJ

2.5. .29(./cc26. UOO

>>-

>

. ..-expl.anztionfor-each“cardfo”llows “-

Page 34: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-29-

Problem One, Input Explanation

1. maximum problem, MPOS regular algorithm, 6 columns and 3 rows in the

nonaugmented matrix

2. title

3. variable names

4. objective, nonaugmente d

5. row 1, coefficients by column, constraint type, RHS value

6. row 2, coefficients by column, constraint type, RI-ISvalue

7. row 3, coefficients by column, constraint type, RHS value

8. -blank card for no data insertion

9-12 generate supply of X2

9. 1 nonzero coefficient in nonaugmented portion of

10. entry of row .4,column 5, equal to 1.0.

11. integrated supply function, 1 term, coefficient =

12. initial step = 0.0, increment = 10, 12 steps

al ct213-22 generate production surface Y = AX X

13. 3 rows generated, 99999 = DEPV subroutine

14. 1 nonzero coefficient in row 6, (Xl)

15.

16.

17.

18.

19.

20.

21.

22.

row 4

-0.5, exponent = 2,0

row 6, coefficient by column, constraint type, RHS value

1 coefficient row 7, (X2)

row 7

1 coefficient row 8, (Y)

row 8

4 ratios, Y1 = 0.4, Y2 = 0.8, Y3 = 1.4, Y4 = 1.8

production function Y = 4~Q”3x20”5

initial Y = 10, increment = 10, 5 steps

23.

23-26 generate demand for Y

e1 coefficient row 10

Page 35: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-30-

24. row 10 coefficient

25. integrated demand function, 2 terms, coefficient 1 = 90~ exPonent

1 = 1.0, coefficient 2 = -0.6, exponent 2 = 2.0

26. initial Y = 0.0, increment = 7.5, 12 steps

Following is the computer output generated for problem one.

Page 36: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-31-

.

Ki. **

1*

29

3*

[1 ●

5*

.30PunL~,cT2

.20nOnL”,:T~

.ql)olJfiL.’.cT3

.:-

..

..

J.

+++

++t’<.1..:

+-

{,++

-.

Page 37: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-32-

,. .

6*

“7●

h 0

In.

11*

+,LL,

++++

:+

●LL+

4++++++

,Lt.

+.i+i-+

:* :,:G

+‘t’+++++

,Li;,+

.s

+,GL,

++.+

4.

+++4+++

0

+i+t+++

II

+

:++++

/

++++’+

000U!3

.

ni.oOOO:ly:l + “1,1-)of)!-lny:l+ ~1.000LIOYC7f.ooflunycl~

I* “t.” l.owklOPT1’41Z:

.-

Page 38: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-33-

.

.

,.~--. .-,----...~,---as...

--“. ~

-.

---

r. -

---

-..,7 ~

!“ _

--

--

-..

.-

--

.mP

., -

-Q--.-m----m- . .-“---..-*-----...4.

. . . .

‘-G

,

Y

Page 39: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-34-

.

-.-e-, -----i

. .

.

.-

Page 40: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-35-

Output Interpretation-Problem One

A brief description of the output follows. Those needing further

explanation should refer to the MPOS manual.[2]

REGULAR - The particular MPOS algorithm requested by the user.

TITLE - Followed by user provided title

VARIABLES - The names of variables in the nonaugmented position of

the matrix are given first, followed by the augmented or generated

variables. Variables associated with the supply of X2 YA1

through YA12; production, YB1 to YB20; demand for Y, YC1 to YC12.

MAXIMIZE - The type of optimization requested for the objective

function that follows. Note that the sign and objective value

for each variable is provided.

CONSTRAINT - Followed by each row constraint in the problem.

Variables having zero coefficients are not listed. Note that

constraint (4) is the commodity balance row for X2. The values

at each step are the quantities associated with the total cost

values in the objective function. Constraint (5) is the convexity

constraint for X2.

Summary of Results

For each variable the following information is provided.

STATUS - Whether the variable is in the optimal basis at a zero or

positive value. LB indicates zero; B positive value.

ACTIVITY LEVEL - The level or value a variable takes on in the

optimal solution.

OPPORTUNITY COST - The cost in terms of a change in the objective

function given a marginal increase in the particular variable.

This item is

LOWER, UPPER

within which

used synonymously with shadow price or dual.

BOUNDS - The lower and upper limits of a variable

the opportunity cost is unchanged.

Page 41: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-36-

Interpretation of the slack variables of the row constraints is the

equivalen-tof finding the values of the dual problem.

The first three slack variables are associated with row constraints

of the nonaugmented portions of the matrix. They are the commodity balance

rows of fixed resources.

STATUS - Whether the slack variable is in the optimal basis at a

zero or positive level. LB indicates zero; B a positive value.

That is, SLACK takes on a positive value only when the resource

is not totally exhausted.

OPPORTUNITY COST - The change in

additional unit

additional unit

The resource in

it is not used up or

of the commodity

the.objective function given an

constrained, or the value of an

of the commodity.

row 2 has a positive value (69.76), indicating that

is not a constraining resource. Since it is not

constraining, its worth or value is zero as indicated in the opportunity

cost column.

Additional units of the resources in rows 1 and 3 would be worth

$1.96 and $0.78 respectively.

The interpretation of the Lagrangians or dual values of the rows of

the augmented

above. Again

values, taken

portion of the matrix was discussed in the theory review

this value is given as the opportunity cost here. These

from the computer output are listed below.

a4 - dual row 4 - price of X2 -, 15.00

A5 - dual row 5 - producer surplus X2 - 100.00

A9 - dual row 9 - producer surplus Y - 1214.89

Alo - dual row 10 - price of Y - 31.50

111 - dual row 11 - consumer surplus Y - 1417.50

The value of the objective function is 3064.61.

Page 42: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-37-

Problem Two

In problem two, surplus is maximized from two limited resources, which

may be combined by two different production functions into a commodity facing

a downward sloping demand.

The nonlinear programming specification follows:

‘ax z = 2“0x11-2”0x12-1”8x21-1.8X22+Jy(90-l. 2Y)dY

o

+Al (25-X21-X22)

+a2 (75-X11-X12)

“3 “5-3Xi~X~?j5)+A3 (Y-4X11X21

Linearization Parameters

Production Yl

.3 .5‘1 = 4X11 ’21

Initial Y1 = 10

STEPS = 5

RATIOS

RI = 04 R2 = .8 R3 = 1.4 R4 = 1.8

Production Y2

.6 .15‘2 = 3X12 ’22

Initial Y2 = 10

AY2 = 10

STEPS = 5

Demand for Y

W= 90Y - .6Y2

Initial Y = O

AY=5

STEPS = 12

area under demand

The matrix, data input, computer specification and results follow:

Page 43: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-38-

Ln mooam-

V[ VI VI Vi A

+000+0

SC.

o..

o“

G

x+...4

x+

o..

o“

*

F-!

r+

u+w

o r-i

.+o

gj

.l-l

.N

.u-l

.L9

.m

.m

.0d

.‘m1+s’

HwuW

m

I

Page 44: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-39-

3. rr2

4. .5-’2,0FL. 5+1*U6. .3+1*O7.8. 59. 1.

“lo, :-’1.0:L-i . 1

12 . 5-’1.013. 1~z+, 2-1. LJ~J, 4U$4

16. l}, G17. 1.L).U

18, 31$1, i

2.(I . 4-1,0j). 1

22. S-I*U

23. 1

2“>. l-’1, (;

99999

. .-loui.oell

-I(lu+().u

..

28. 2

,29. li~.[j 2+1.0

30. 2+9u.1) 1*O -().6 2,0

? 3.1. ;*U 5, i] Id - -.

. .-

\.

Page 45: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-40-

Problem Two Input Explanation

1. maximum, MPOS regular algouthm, 6 columns and 2 rows in the

nonaugmented matrix.

2. title

3. variable names

4. objective, nonaugmented

5. row 1, coefficients by

6. row 2, coefficients by

7. blank card for no data

column, constraint type, RHS value

column, constraint type, RHS value

insertion

8-17 generate production surface Y1 = 4X~~ X~~

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

28.

29.

30.

31.

3 rows generated, 99999 = DEPV subroutine

1 nonzero coefficient in row 3, (xII)

row 3, coefficient by column, constraint type, IUiSvalue

1 nonzero coefficient in row 4, (X21)

row 4, coefficient by column, constraint type, RHS value

1 nonzero coefficient in row 5, (Yl)

row 5, coefficient by column, constraint type, RHS value

4 ratios,

0.3 X0.5production function Y1 = 3X11 21

initial Y=1O, inu3anent=10, 5 steps

0.6 X0.1518-27 generate production surface Y2 = 3X12 22 similar to 8-17

28-31 generate demand for Y

2 nonzero coefficients in row,ll (yl and Y2)

row 11, coefficients by column

integrated demand function, 2 terms, coefficient 1 = 90, exponent 1 = 1.0,

coefficient 2 = -0.6, exponent 2 = 2.0

initial Y = 0.0, increment = 5.0, 18 steps

Page 46: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-41-

1

.,,,, .

Tx!.1Y/lbYAi3‘yij~yog

YbJ-7YcsYci3

+++++t++++++++’

+

+

+

+

+

1,000UO”IX22

1.UOOUOIX12

++++++’+++++++++++++-

++

++-

‘ix22 YA1~ A8 Y A‘?Y:,ltj - Ylll”lY[34 yl;by~~p ‘y~~~

Yi32(l y(.l

Yc[i ycg‘YC16 Ycl?

l,dOOoGTX21

0YA3L)YA6CIYA9

. .. ofA120YA150YA18

. oYi31L!Y84oYLi7OYLI1OOYU.S3oYf.J16oYFll9-

435,00(?30Y’C21560,0000GYC5

-2415,0LIuOUYC63000,00UUCJYCL13315,GOU’)CYC1433bo*oofl:’o’(c17

7,00000YA3

Page 47: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-42-

-. ++i

, .*.-~”*

+. -

+

++’+‘!

i+

+++

. . . .. +--i+

ii-i+ .-+,LL,

74 ----+++++++

*I-L*&* -

+++-1

+

+++

1)

~

++++4+

o

++-.k-1+‘t-t’

0++4++++

+ 1,00ULIO

+,++i+++

o

++++++f’

o

t-i

?2(J,0000GYA’?b!J+uoou(!Y1253U,0001JU7A5l(J*OOOUOYAIItto.[)(j[)(l~ya~+

2U.000tiOYAi ?50.oorJuoY;\2u

i,oooLloYP*21.00UIJUYA5l,oouL:oYoCil,ouulioYAlll,OCJOIJOYA1+1*COUUOYA17l,oouuoY/~2u

10,44f>~J01d2J5,444UOY[352c),t504LlclTucj

5.32buoYLill33,Ei18UOYtjlt{L{+,llZIJUIUI{

47*b&34uoYti2u

+i-

-k

+

+

+

+

+

+

+-

+

+

+

+

+

+

+

++

+

+

+

+

+

+

+

+

+

+

+-

+

+

i’+

30.00000YA3I0,00000YA640,00CIOOYA9.20.(-JOOCOY},l::5!),00000YA1530,000LJoYALi5

l,oooooYr\3l,,oooooY)’i6L,00000YJ?91,0000OY’LJ2J.,ooouL)YAlb1,0000OYAIJ

17,93i’iloYF;34,76200Yt3ti

30,23700Y5913,42100Yt;1245,53600Yij15Z4,232tiOYL.?J.S

44,i34200Yb35.9530QYL<6

31.),00CIOOY[}3J-(1,0000OYi~c,

Page 48: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-43-

++

+-i-t+

. +

-.

304000boYL\3Lo, f.1do[lol’rj.i.14(.).oouuoYd14

20,utJubuYdl’/

50,000UOY1.)2U

l,0(!(!UOYtj2l,ooL’uoYdbJ ,CC!()(JOY(JJl,o(JoboY&lll,ui.!(JuoYl~l,’+1.0UO(JOYU17l,ooouoYti2u

l,OUOUOIY15*UOCLOYC2

20.oG(Jbo’rc535*coLJUoYcti50,0UwbOYClit)s,o:luLoYci4&j(J,O(JO~lLiYCl”/

l,oolJuclYc21.ouo(iuYc51,0(JOU(IYC81.00GUOYCL11,000UOYC1.4l,(j!JUltOYCi/

+-++4

i

+

+

+

+

+

+.

+

+

4-+

+’

LIO,I.)OOOCIY13920000 [IUGYL1;!50,(JOUDCJ’{L153P.000ooYuld

10,OCOOOYC325,00000YC6/+o*oooo13Yc955.0UOOCIYC1270*OOOUUYLJ.585,0rlooLlYc15

1,00GUOYC31,000UOYC6

- “1,0000OYCYls~oo~~’f~:L~J.,000UOYC15l,oooi.!oYc18

,

Page 49: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

,,-44-

.

I*U

. .

.-

.-

- ~-

--

. .

--

.-

-.

--

--

--

w . .

-..

--

--

.-

--

.-

.-.

-.

..-

-..

..-

--

..-

--

--

. . “

--

-.

.-

--

-.

--

--

--

. .

-.”

-w-.... ---. .. .

LO!SERlIOIJND

000000(),00000.0000

0.00000,00000, [)000

0.0000().00000.00(100,09000,00000.00000.0000Oeoi!ouG,oooilO* OOOLJ0,0000[1,00000,00000,0000U*OOOO0,00000,000J#*oooo0.00000.00000.00000.0000

0.000uO.oouo

0.00000,00000,0000(J*OOOOG,00u00.00000.00000.0000O,ooou

O*OOUO0,0000

000000Cl*LJo(-loU*OOUO

0.0000

UPPEDBoUND

IrJFlNf:I NF

.lNFI NFINFINFx{WINFIfJFIIJFINFIl~FINF

- INFlNFIh!F

INFINFIfJF

-INFINFINFI rlFINFINFI14FINFINF

INF

I NFINF

- INFI~JFI PJFINFIidFINFIrJFINFINFxNF ,

INFICdF

INF

Page 50: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-45-

----. .

--

---“-

--

.- ------

—--.-

.-... ..-. .

u- iu- .2u“” .50- 4

5iJ- !3LJ- c>u- 7u- b

9

l)- 9LJ- lU

11l.)- 11!-b Lii

L~ti~Lo,uoo(JuciJO*OOOLIOOU(J,U(JUUiJOO

O*UOLJOU(JU(J.uoo(J(Jrlo0*000[)’jOIJ(J.ufluudorJ

- o*uoooJollO*OOJ)L!UOOO,UOLIUUOU

~~ O*UOO(JJIJU(J.L)(JCruuo(lO.uooodoilOQOOUIJULJU

.71(2+505*2b35u9>

O*OUUUUOGO*OOOUUO()(J.0000IJOL)

- o*uDuoboLJ

29*99912ti4rJOolJuuuooo.uuouooljO.uouuuouUo(Jooooclcl

.00UL)(JIJJOU(J*LJOUUJOIJO.LJuiJ(Ju[ld().()(JUUUO(J

O.UOCJJJ~JOuO.IJC!OOUOO

(J*UOOOJOULJ.uoouuooO.ULICJUUOO

<;PPORTU!JITYCOST

07*071531+52“i~(J*U(JUOGdU2.’JL+U,00U(JI)LJO

19t)o.uDuooiJolc)tiLc ulJu(j(JL)LlJ350*OOUOOULIIouo,uuuooou

b+u.uouo(jo:)t5JGtUOUOOti04bo*(lu(jlJ(luiJ~u~,[]uuuf-ju~

ltio,ul)urJorJ(l%(J*UUUCJOOUJcl.ol.)doo(Ju

OooutiooouO,lrouuouo

J13.oouoolJLJ9u*oouclf)cio

lt>o,uouooou”13,631>923

U,uuuooouZCJ.JOUUOOO

15*4.51592.3%600UOOUU

-90UUUOOU091*17(>75d7

%*UUUUO(JLJA5*Q51>923

9*UUUL)OULI-9.00U0OOOJO*792J163

9*oouorJou-9,0UOOOOU

27.JOOOUUOOUO

LOWLRE30UNL)

0,0000

0.00000,00000,0000

L1.000o000000O.oouo0,00000,00000.00000,0000rJ. oouo

0.00000,00000,0000() ’00000,0000O.ouoo0,0000

-0,0000O,ooo 1.1r), cooo0,00000.00000,00000.00000,0000

0,00000.0000

0,00000,00000.00000.00000,0000

uP~E:t30ul!rl

INF

INFINFI N F

I!JFINFINF

- INFItdFl~JF

INFI wlrJf=INFI NFINF

- lNF

INFIrdi=iNF1 NFINF

- INFINFINF

- xll~

I NFINFIFIF

INFIrdF~ NFIPJFINF

Page 51: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-46-

Problem Two Dual

For problem 2, the dual values are taken from the computer output

and listed below;

~6 - dual row 6 - producer surplus Y1 - 91.18

Alo - dual row 10 - producer surplus Y2 - 30.79

All - dual row 11 - price of Y - 9.00

a12 - dual row 12 - consumer surplus Y - 2730.00

Page 52: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-47-

VI. HEADER CARDS

Three groups of JCL header cards are given. The first is to generate

maximum output for troubleshooting. The second is to utilize a previously

compiled program and to

The third is to address

1. Maximum output,

NAME ,TIO.

ACCOUNT,GQM1ll 1,

generate only output pertinent to problem solving.

APEX-1 .

No LP output

PASSWORD.

BIN CARD IF NECESSARY

RFL(77000)

ACQUIRE(MGAO).

FETCH(MINNLIB/V=MNF)

MNF(I=MGAO,B=CMG)

RETAIN,CMG/CT=PU .

CBR(INPUT,TAPE5)

R,TAPE5.

SETTL(20)

CMG .

COST.

789

Data Deck

789

6789

6789

Page 53: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-48-

2. Reduced output using compiled deck, CMG, with LP output

NAME,TIO.

ACCOUNT,GQM1l ll,PASSWORD.

RFL(77000)

FETCH(MINNLIB/ V-MNF)

ACQUIRE,CMG.

CBR(INPUT,TAPE5)

R,TAPE5.

SETTL(20)

CMG .

R,TAPE1.

COPYSBF,TAPE1,OUTPUT.

R,TAPE1.

MPOS(TAX’E1)

COST .

789

Date Deck

789

f5789

6789

Page 54: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-49-

3. APEX-1

In order to access APEX, the following cards are inserted between

the MPOS(TAPE1) and COST cards in deck 2.

R,APXFIL.

COPYSBF(APXFIL ,OUTPUT)

RETURN,TAPE1.

R,APXFIL. .

RENAME,TAPE1=APXFIL .

APEX(SOLV--------)

Page 55: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-50-

VII. FINAL COMMENTS

This computer program has not been fully tested and problems may be found.

However, initial testing and use indicate that the program could be extremely

useful in solving certain types of problems. The fortran program itself

is rather straight forward and appears to be organized in a way that would

facilitate user provided modification.

Some comments regarding the use of

Currently, only APEX-I one is operable.

MGAO with APEX are in order.

APEX-II may be accessed, however

format errors are incurred. If the user accesses APEX-I directly, parametric

andfor ranging procedures are difficult if not impossible to perform.

An alternative is to use MGAO to punch out the data deck and then put together

a completely new problem specification for the APEX problem. This may be

done with cards or through the use of permanent files and interactive terminals.

The user should not be limited by the mathematical forms of the functions

as currently read. One need only to change the format and the read

statements to fit different needs and problems.

Page 56: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-51-

Bibliography

[1] Program developed by Terry L. Roe and Paul Chang

[2] Multi Purpose Optimization System User’s Guide Version 3, Claude Cohenand Jack Stein, Manual No. 320, Copyright 1976, Voeglback ComputingCenter, Northwestern University, Evanston, Illinois 60201.

APEX-1 Reference Manual

[31 Intrilligator ~chael D., Mathematical Optimization and Economics

Theory, 1971,Prentice-Hall, Inc., p. 72.

[4] Intrilligator, p.44.

[5] Duloy, John H. and Roger D. Norton, ‘lpricesand Incomes in Linear

Programming Models,” American Journal of Agricultural Economics,

Volume 57, Number 4 (November 1975) PPc 591-600”

Klein, Harold E. and Terry L. Roe, “Agriculture Sector Analysis

Model Design: The Influence of Administrative InfrastructureCharacteristics,” in Planning Processes in Developing Countries:

Techniques and Achievements, eds. W.D. Cook and T.E. Kuhn(Amsterdam-London: North-Holland, 1982) pp. 273-308.

[6] Klein and Roe, pp. 297-299.

[7] Duloy, John H. and Roger P. Norton, “The CHAC Demand Structures,

Chapter 3 in Programming Studies for Mexican Agricultural Policy,eds. Roger D. Norton and Leopoldo M. Solis, forthcoming.

[8] Roe, Terry, “Modelling of Nonlinear Functions into a LinearProgramming Format,” Staff paper p75-9, June 1975, Dept. Of Ag”and Applied Econ. , U of M, St. paul.

Page 57: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-52-

Appenclix A. Variable Name

** N1 zi*+ N1 =2** N1=3*.* Ni =4*d: Ni=5** Nl = b** N1=7%.* . ~i z 8** TJL =9*% N1 = in** N1 = 11** N1 = 124* N~ = 13** Pd1 = 14** 141 = 15** N1 = 15** N1 = 17** N~ = 1!3** IN1 = 19** N1 = ~0** Nl = 21** N 1 = ~;>

** N~ = t??** N 1 = 2Ll** N1

~ 25

** N1 ~ 26**

** GFL(M2)** =-lno** =-2n0** =-.~n(l**

IVTEGCQvAR1A3LE:;kl~XXMIZEMINIMTZZCONSTttAINTSBOUNDSPRI’4TOPTIMIZEEvDAPFXB?JDAI-LBNDINTRNG3BJUNGRHSTOLERANCEEPSILONB(WOBJLIMIT

NoSCAI.ECHECKQCHEcKGoSTOPRESCALEMAXCil

MkxEc<

CONTAIV t.LE,*~ 2.EQ,*? $.GE,#MEANS LEsS THAN OR EGLJAL TO

MEANS E3L}AL TOMEAVS L7EAT T}iAN OR E,JUAL TO

***************************************

Page 58: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-53-

.

**********************’*

*

*

**

*

*

**

* :*

**

**

*

**

*

*

*

TriE SPECIFIED R.~+.s tiGLuz DIFFERFNT =?OM DEFAULT ONE*

SIGN OF TrlE ACTIVITY **************

. ‘.,

Page 59: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

Appendix B. Flow Chart

-54-

.L

L---J*)JPUT

~hl T& & 8R

v.+Flr?+i3L.Es

c+

by&5

4A?Z7ECCXF. OF

o twwe rsvtr

Z-&

Page 60: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-55-

I IYF5

(!)/3

+

‘h

m rAP&i..

(!)A

Page 61: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-56-

L 1

YES

#vo YES

*

olw@+F3M

--+$--l’

A7

A/o Y6S

[4P DO+r@Cd&P. I

Page 62: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-57-

A/o Y($S

(!)8’

Page 63: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-58-

9D

YES .

I

J.

.

(!)E

Page 64: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-59-

A/o

r

1 I

dSTOP

Page 65: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-60-

!=+=-7

.

Page 66: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

A

-61-

IL

I

I

IIm

LI

J

m

Page 67: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-62-

%=J

Page 68: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-63-

,

Appcntiix C. Prof;r,..n Listing

.%*‘k*.

**

**

4

**

**

**

**

**

***

**t,.*

** {;i=l (P!;))* =- I.. (I* :- <:..(1* =-, .,,. (,

.

Page 69: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-64-

********** ,*********,**xl****

Page 70: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-65-

,- .

4*k

*

- -+1- . . . . . .

h

*

#,iYA? #v$Yh3 #,*YAf, #,

Page 71: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-66-

.

,Y(,3?’.1A ),lJlA=ltll)(l )/Jtycl

,.,- ,,. .

z,i.*$i*2,i,

Z9t.Z**

2.

**

$,*,*,z,i/

#,

*,z,z,i,it,Z*

Z*i.

#*i..**Z*

z,#*z,2/

$.*

Page 72: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-67-

.

2*i’yellXV*YC17**#YC??

Page 73: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-68-

!- .

.+ YI177

z ●

z,z,z,2,

i.

X*

2.i,2.

*92,

#o*,i..t/

#,

\

Page 74: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-69-

. .

.

.

Page 75: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-70-

,- .

i

*

Page 76: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-71-

.

\

Page 77: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-72-

., . .

Page 78: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-73-

.

\

Page 79: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-74-

>. .

JLT’ z .coi. Ii[E)/(-lf)l-1)

Page 80: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-75-

Page 81: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-76-

.

X.**

‘4**

71)11701

***

*4.*

*%%

Page 82: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-77-

,

,,

I

Page 83: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-78-

,. ,

FLn”/i A[,-.

*

Page 84: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-79-

.

,

Page 85: Staff Papers Series - CORE · generate input data for a linear programming problem approximating a non-linear programming problem, submit the generated problem to an optimization

-80-

,. ,

.


Recommended