Research Paper No. 475: // Stanford University

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

Research Paper No.

475

An Algorithm for Portfolio Improvement

W. F. Sharpe

October 1978

Graduate School of Business


\\ STANFORD UNIVERSITY

_7~~:2
AN ALGORITHM FOR PORTFOLIO IMPROVENENT
*
W. F. Sharpe

August, 1978

The Portfolio Improvement Problem

The portfolio selection problem (as described in, e.g. N2, S2) can

be written:

max Z=E-XV (la)


X1,...

subject to:

N
EX. =1 (lb)
i=l

L.X.U. foril,...,N (ic)


1 1 1

where:
N
E = E X.E.
11
i=l

N N
V= E EX,X.C..
1=1 j=l 1 3 1.]

*
Timken Professor of Finance, Stanford University. This research was moti-
vated by discussions with members of the Investment Systems Group of Wells
Fargo Investment Advisors. Valuable comments and suggestions were made by
Bob Fuhrman, Kelly Haughton, Cary Martin, Leland Robinson, Polly Shouse,
and Larry Tint. This research was sponsored by the Stanford Program in
Finance. Major contributors to the Stanford Program in Finance are Bank
America Foundation, The First Boston Corporation, The Chase Manhattan Bank,
Continental Bank Foundation, The Dean Witter Foundation, General Electric
Company, Goldman, Sachs & Co., Morgan Guaranty Trust Company, Morgan Stanley
& Co., Inc., Salomon Brothers, Security Pacific National Bank, and Wells
Fargo Bank.
-2-

= the proportion of the portfolio invested in security i

N = the number of securities to be considered

E. = the expected return on security i

E the expected return on the portfolio

C.,. = the covariance between the returns on securities i and j


13

V = the variance of the return on the portfolio

A = a coefficient indicating the investor’s risk aversion

z = the portfolio’s certainty-equivalent return

L~ = a lower bound (typically, zero) on the proportion of the


portfolio invested in security i

U. = an upper bound on the proportion of the portfolio invested


in security i (in some cases, not used or set to a large number)

In many applications, additional linear constraints are included.

In practice most portfolio problems requfre the revision of a pre-

existing portfolio. Moreover, some sort of penalty (e.g. for transactions

costs) is associated with changes in holdings. This can be represented by

expanding the objective function to:

N,
Z = z - E )Ix.1 - H.
1
t.l
if (2)
1=1

where:

H. = the initial proportion of the portfolio invested in


security i

t. = the “turnover penalty” per unit of change in the


proportion of the portfolio invested in security i

Such a formulation can be represented without the explicit use of absolute

values by adding new variables and linear constraints, as shown in (P1).


-3-

Portfolio problems are special cases of the more general class of

quadratic programming problems. However, three attributes are important.

In their natural form, such problems involve a very dense matrix of qua-

dratic coefficients (i.e. most or all of the C.. ‘s are non-zero). More-
13

over, the constraints are extremely simple (e.g. (lb) and (ic)). Finally,

such problems are large: in practical applications it is common for as

many as 500 securities to be considered eligible for inclusion in a port-

folio.

Previous Approaches

Some practitioners have employed general-purpose quadratic programming

codes (e.g. Ml, RI, R2, Vl) for portfolio problems of modest size (e.g. up

to 100 securities). However, much effort has been devoted to simplifying

the quadratic portion of the problem to allow the use of algorithms designed

to take advantage of the resulting structure.

Most security returns are correlated, thus C.. ~10 for the vast majority

of pairs i,j. However, it is not a simple matter to estimate the (N2+N)/2

values of future covariances that are relevant in this context. Historic

data may yield unbiased estimates but such values may still be subject to

sampling errors which can be exacerbated when operated upon by an optimizing

algorithm. This suggests the need to employ simplified models of the relation-

ships among security returns to provide useful estimates of the C..’s, even

if all such values are to be employed explicitly in the optimization phase.

A number of analyses of the stochastic behavior of security returns, which

can meet this need, have been reported (see, e.g. El, Fl, Kl, R3).
-4-

Given a simplified model of the relationships among security returns,

it is generally possible to replace (la) with a simpler relationship

(usually, accompanied by the introduction of new variables and constraints),

and then to design an algorithm that can efficiently solve the resulting

special case of the portfolio problem. A number of approaches of this sort

have been developed (see, e.g. E2, E3, E4, R4, 51, S3, S4).

Unfortunately, many of these special-purpose algorithms are just that

- - they do not adapt easily to accommodate a different model of covariance

relationships. Since some of the underlying models (most notably, Sl) are

excessively limiting, practitioners have tended to invoke side constraints

on holdings (e.g. tight upper bounds on individual security holdings, range

limits on the amounts invested in particular economic sectors and/or indus-

tries, etc.) to compensate for known or suspected inadequacies in the repre-

sentation of return covariances.

We propose a different approach, choosing to exploit the simplicity

of the constraints, while accepting as much complexity as desired in the

covariance matrix. Although our general approach can easily be adapted

to exploit simplified covariance models, in this paper we will deal only

with a version designed to handle a full covariance matrix. We also empha-

size the revision problem (as in 2) although our algorithm solves the

selection problem as a special case in which all t~, 0. Only constraints

(lb) and (ic) are accommodated but, as will be shown, additional aspects

of practical problems can be handled by prior adjustment of the coeffi-

cients in the objective function. We will show that the approach, like

some recent algorithms developed by Elton and Gruber (E2, E3, E4) has

desirable properties in terms of user acceptance and can also be adapted


-5-

for interactive use by portfolio managers. Preliminary tests suggest

that computer costs should be relatively small, making the algorithm

well worth consideration.

The Basic Approach

The general idea behind the algorithm is embarrassingly simple - -

so much so that there can be no doubt that it has occurred to others and

possibly been implemented in this context. However, the continuing stream

of papers describing approaches requiring highly simplified models of re-

turn covariances suggests that the efficiency with which the approach can

be implemented is not widely known.

Each iteration of the algorithm is designed to improve a previous

feasible portfolio. Most cases begin with an actual portfolio meeting

constraints (lb) and (lc). In the rare instance in which the initial

portfolio is infeasible, straightforward procedures can usually be de-

signed to obtain an initial feasible portfolio-with minimum transactions

costs.

Given a feasible portfolio (X1,... ,XN) it is a simple matter to

determine the locally optimal revision. Constraint (lb) requires that

every decrease in one or more of the Xi’s be offset by an equal increase

in one or more of the others. All securities for which X. < U. are candi-
1 1

dates for increased holdings while all securities for which X.1 > L.1 are

candidates for decreased holdings. If security i is increased from X. to

X. + ~., where ~ is small, the objective function will be changed by an

amount:
~ ~i ..
-6-

Similarly, if security i is decreased from X. to X. - A , where A

is small, the objective function will be changed by an amount:

Given constraint (lb), for small changes, the maximum improvement in Z

will be obtained by (1) increasing X. for the security among those eli-

gible for an increase that gives the largest value of bZ/ôx. and (2) de-

creasing X. for the security among those eligible for a decrease that gives

the (algebraically) smallest value of bzThx~. If the value of bz/ox~for.

the former security is less than or equal to that for the latter, no further

improvement is possible and the optimal portfolio has been found. Otherwise

the portfolio can be improved by changing the holdings of the two securities

in the selected directions.

while this procedure selects the locally optimal change for each iter-

ation, there remains the issue of the appropriate magnitude for the actual

change. We adopt the following rule: select A to maximize the increment

A Z, subject to limits imposed by upper and lower bounds on holdings and

the requirements of continuity. More explicitly, note from (2) that:

I Az - t.A for X. > H. (3a)


1 1 1
=

Az + t.A for X. < H. (3b)


1 1 1

where:
A Z = the increment in Z
A z = the increment in z
A = the increment in X.
1
-7-

Although Az is continuous in A, relations (3) restrict the range over

which A Z is continous in A. This can be handled by imposing a bound,

A~, on the change as follows:

current value of X.: X~ to be: A. =


1 _____________ 1

H. X. <U. increased U.1 - X.1 (4a)


1 1 1

H.1 <X.1 U.1 decreased X.1 - H.1 (4b)

L. X. <H. increased H.1 - X.1 (4c)


1 1 1

L.<X H decreased X.1 - L.1 (4d)


1 1 1

Assume that in the selection phase, security Z has been chosen for in-

creased holdings and security ~ has been chosen for decreased holdings.

Formulas (3) can be utilized tofind the value of A that would maximize

the net increment A Z, disregarding bounds and continuity requirements.

Formula (3a) is applicable if X~> H~ or if X~ = H. and X. is to be in-

creased. Formula (3b) is applicable if X. < H. or if X. = H. and X. is


1 1 1 1 1

to be decreased.. Let A* be the value of A that maximizes AZ, disregard-

ing bounds and continuity. Then the actual increment is determined by:

A= min(A*, AZ, A~) (5)

After A is determined, the portfolio is revised accordingly:

X1-.*~~X~ + A

X-~ X -A

completing the iteration.


-8-

The Algorithm

Figure 1 shows the main steps of the algorithm. The remainder of

this section provides additional details concerning some of the procedures.

Figure 1

select security t to
be increased and
security ~1to be
decreased

no

Revise Holdings
+ A
-9-

Computing S1,. .,SN .

Since the covariance matrix is large, it is important to avoid its

repeated use. Moreover, in many computer systems the matrix,must be

stored in slow-speed (e.g. disk) storage due to limited space in high-

speed storage. For these reasons, the algorithm relies on a series of


*
sums of the form:

N
S. = E X.C. . (6)
~ ~=l 3 13

These are computed once at the beginning of the procedure, using the entire

covariance matrix, a row at a time. They are revised after each iteration,

but as will be seen, only two rows of the covariance matrix are needed to

perform this task.

Selecting Securities for the Revision

Note thai~:

= 2S
ox.1 i

Thus:
=E. - 2AS.
OX. 1 1
1

*
Note that S. = C. the covariance of the return on security i with the
,

return on t~1e cu~ent portfolio. To exploit simplified models of covari-


ances, this relationship can be used to greatly simplify the required
computations. In many cases a special-purpose algorithm of this sort
will operate more efficiently if sums related directly to the underlying
determinants of covariance are maintained, with the C. values computed
from these sums as needed.
-10-

The selection criteria can thus be written

For the security to be increased:

- for all Z such that X~< U. (7a)

- select to maximize.:

E1 - 2AS~ — for X1 H1
oz
Ox1 E; — 2A S~ + t for X; <

For the security to be decreased:

- for all ~ such that X~ > L~ (7b)

- select ~ to minimize:

E~ - 2AS~ - for H

E~ - 2AS9 +t~ for X~ H

Computing the Amount of the Revision


Oz
Assume that the test for revision is met -- i.e.
~5E;> ~ For
the revision, we consider changes of the form:

X..4—X; + A

- A

The change in z will be:

AZ = A(Et - E~) - 2AAE X.KC~k + 2AAE XkC~k

- A2X (C~~ 2CZ~+ C~)-

Substituting (6):

Az = A(E~ - E~) - 2AAS2 + 2AAS9 - A2(C.. - 2C~+ C~2) (8)


-11-
Now, let:
tt If Xj~ H1
Tt =

if X~< H~

t if X~> H~
T~ =
- if

From (3)

AZ = Az - T1 A + T9 A

Substituting (7) and re-writing:

AZ = ~ - E~) - 2A(SZ - S2) - (T~ - Ta)] - A2A(C.. 2C1~+C~)

*
To maximize A Z, we set 0 (A Z)/O~ to zero, giving:

= (E1 - E~) 2A(SL


- S~) (T~ - - - T~) (9)
2 A (C:; 2Cj,~ + C~)
-

*
Note also, from (7a) and (7b), that:

Oz
OXL bX~
= 2 A(C22 - 2C~ + C~)

The denominator of (9) will be non-negative in all cases and will equal
zero only if securities Z end ~ are perfectly correlated and have equal
variances. In such a case, the security with the higher expected return
net of transactions costs would dominate the other. This situation can
be determined by checking the denominator of (9) and setting A* at an
appropriately large value if the denominator does in fact equal zero.

Note that the inclusion of a riskless asset causes no problem. Indeed


several such assets may be included (with different rates and appropriate
bounds) to represent, e.g. different borrowing and lending rates. The
ability to include risky and riskless assets obviates the need for the
two-stage solutions, required with most quadratic programming codes.
-12—

The magnitude of the revision is then determined using (5), with values of

and computed in accordance with (4).

Revising Sl,...,SN

After revising X. and X~ , each iteration is completed by revising the

sums Sl,...,SN to account for the changed holdings. The values are altered

as follows:

S.—* S. + A(C. . - C. ) for I = l,...,N


1 1 11 1~

As indicated earlier, only two rows (i and ~) from the original covariance
matrix are required for this step. Moreover, after the initial computation

of Sl,...,SN only this procedure requires any use of the original covariance

matrix.

Extensions

Many problems that arise in practice can be solved directly using this

algorithm, and modifications of the procedure and/or the use of supplementary

procedures can allow a larger range of problems to be handled.

Targets and Penalties

As indicated earlier, many portfolio analysis problems involve linear

constraints in addition to (lb) and (lc): portfolio yield may be restricted

to lie within a specified range, the proportion invested in “growth stocks”

*
Experience suggests that rounding errors are not very serious with this
algorithm; thus complex procedures to avoid numeric errors are not needed.
However, after many iterations, some errors may cumulate in the values of
the S.’s. To control for this, a count can be kept of the number of itera-
tions1since the initial computation of the sums. When the count exceeds a
specified amount, the sums are recomputed using the original covariance
matrix (i.e. the next iteration simply starts one step earlier than usual).
-13-

may be limited, etc. Many such constraints are imposed to counteract

(albeit crudely) inadequacies in the representation of the covariance

matrix. Such constraints are, of course, unnecessary if the algorithm

described here is used. However, some constraints may well reflect the

undesirable consequences of divergence of some linear relationship from

a given value or set of values.

A range constraint on a linear function of the Xi’s is equivalent


to the addition of a penalty function to the objective function. Let:

Vk = E a.kX. (10)

where: vk = the value of attribute k of the portfolio

aik = the contribution of security i to attribute k

The restriction:

Vk Uk

is equivalent to augmenting the objective function to obtain:

= —

(cx if <

where: ~K =j 0 if 1k ~ vk Uk

I.cx’ if vk> uk

Figure 2a shows this relationship.

While the algorithm described here cannot handle this type of restric-

tion, it can accommodate a penalty function of the form shown in Figure 2b.
-14-

Figure 2a

Uk Vk

Figure 2b

tk Vk
-15—

Here the penalty is of the form:

= Pk(vk - tk)

where: tk = the “target” for attribute k

= the “penalty” for divergence of Vk from tk

In many cases this type of quadratic penalty function will better reflect

the reality of the practical problem than will a function of the form shown

in Figure 2a.

Assume that there are K attributes in all. Then:

K 2
z’ = z - E Pk(vk - rk) . (11)
k=l

2pktkvk + Pktk]
= E - AV - k=l [pkvk -

Substituting (10):

N N N
z’ = E X.E. - A I~ E (X.X.C..)
i=l j=l 1313

N N N
- E ~ E (a. a. p ) X.X.
i=l j=l1=1 ikjkk 13

+ ~ [2 E(a.kpktk)]X.

K 2
- Ep1t
k=l
—16—

Re-arranging:

N ~N N 1 K
2
i=l X.E’
E 1 E E (X.X.C!.) k=1 (p tk)
= - - E (12)
~ i=1 j=l ~ 3 13

where: E! = E. + 2 [k~likPk~]

K
C!.
13 = AC..
13 + E (a.ikjkk
k=l a. p )

Note that the third term in (12) is not a function of the decision variables

(the X.’s). Thus its ommission will not affect the solution. This gives:

~N N
= E X.E! - i~E Z (x.X.C!.)
i=l 1 1 Li=l j=l 1 3 13

which is of the form for which the algorithm is designed.

To handle targets and penalties, only a preprocessor is required to

adjust the coefficients to be used for the optimization. Moreover, this

need be done only once for all portfolios for which the same set of targets
*
and penalties is applicable.

Expanded Turnover Penalty Functions

Figure 3a portrays the algorithm’s assumption concerning the total turn-

over penalty associated with variations in holdings of security i. On either

* The objective function can be expanded trivially to allow for proportional


utility or disutility associated with a linear function of the X. ‘s. The
coefficients are simply added to the expected returns of the sec?irities.
Thus to accommodate: N
z’ = z + P E a. X.
k 1=1 ik i
simply define:
Ej = E~+ Pka.k
-17-

side of the initial holding, the function is linear. This may well re-

flect the relevant turnover costs for highly liquid stocks. However, for

less liquid securities the total cost (explicit transactions .cost and pos-

sible price impact) may increase at an increasing rate, as shown in Figure

3b.

Such a relationship can easily be incorporated in the algorithm. Let

the total turnover penalty for security i be:

I Xj_HjItj+(Xj_Hi)2t~

Such a function can be accommodated by making the appropriate changes in

the selection procedure (formula (7)) and in the computation of the amount

of the revision (formula (9)).

Another extension allows for asymmetry in the turnover penalty. Let

the function be:

(X~ - H~) t~+ (x~ - H.)2 t~ if X. ~

(H. — X~) t. + (X. - H~)2 t1 if X~< Hi

As before, formulas (7) and (9) are altered to deal with this case. Asym-

metric turnover penalty functions can be used to handle, for example, the

asymmetric tax treatment of realized capital gains and losses.

Interactive Use

It is possible to design a program so that the algorithm simply pro-

ceeds until an optimal solution is found, then prints the recommended changes.

A portfolio manager using such a program could either accept the recommenda-
-18-

Figure 3a

Turnover
Penalty

H. X.
1 1

Figure 3b

Turnover
Penalty

H. X~
1 1
-19-

tions in toto or make adjustments in a fairly ad hoc manner to take into

account any factors not adequately represented in the problem formulation

(e.g. the need to hold only integral numbers of shares, preferences for

trading in round lots of 100 shares,* etc.).

An alternative approach would involve the manager as part of the solu-

tion process. For example, after a selected number of iterations (one or

more) the manager could decide whether or not to accept the buy/sell recom-

mendations in whole, in part, or not at all. Moreover, at any time the

manager would be able to alter one or more of the inputs (upper and lower

bounds, turnover penalties, etc.) before any further revisions were analyzed

by the algorithm. -

Since each iteration selects the “best” security for purchase and the

“worst” for sale, and since feasibility is maintained throughout, the pro-

cedure corresponds closely to that followed intuitively by many managers,

and should thus enjoy considerable acceptance as well as (potentially)

direct involvement. In fact, security traders might even become involved

in the process, with actual transactions costs reflected directly from iter-

ation to iteration.

Cost

The cost of an optimization of this type depends on the extent to which

the initial solution is suboptinml, the size of the problem, and the partic-

ular coefficients in the problem. Thus it is dangerous to generalize from a

*
These factors can only be handled exactly by an (expensive) integer qua-
dratic programming algorithm. However, interactive use and/or the incor-
poration of simple heuristic procedures in the algorithm described here
should prove acceptable.
-20-

few examples. However, the results of preliminary tests of the algorithm

have been encouraging.

The procedure was programmed in Fortran on a Digital Equipment 20/40.

Test cases of two sizes were run, using representative estimates for expec-
* **
ted returns and covariances. In each case, the initial portfolio hold-

ings were decidedly suboptimal, so the resulting times and costs were

considerably larger than one would expect to encounter in practice.

*
Expected returns were created using representative values based on
securities’ covariances with the overall market plus deviations for
assumed mispricing. The latter deviations were arranged to have a
cross-sectional variance equal to that of estimates produced by Wells
Fargo Investment Advisors for the securities covered by its analysts.

**
The covariance matrix was filled using representative values for the
parameters of a single-index model of the form described in (S2).
While this is an overly simplistic model of covariances, an entire
covariance matrix was created using it, and the optimization proced-
ure used the full matrix. It is unclear whether or not this created
a bias in estimating the relevant cost of solving problems based on
more realistic covariance structures. Since the initial portfolio
involved equal holdings of all securities, the use of the single-
index assumption may have led to longer-than-normal running times,
since many iterations might have been required to obtain a portfolio
with fewer-than-normal holdings.

*.~-*
As indicated, the initial portfolios consisted of equal holdings of
every stock. Since expected returns and covariances were not gener-
ated in a manner that would make such a portfolio particularly desir-
able, considerable revision was required to obtain an optimal solution.
-21-

Results for two representative runs are shown below:

number of securities 100 500

turnover penalties
increased holdings 17. 17.
decreased holdings 17. 17.

total turnover, 38.37. 53.27.

number of iterations 69 320

CPU time 11.5 sec. 2 mm., 58 sec.

Approx~mate cost at commercial


rates:
daytime $28 $360
nightime ‘ $14 $180

While the costs shown here are far from exhorbitant, in practice the

algorithm is likely to be much less expensive. If a portfolio is reviewed

monthly, few revisions are likely to prove desirable. Many institutions

revise estimates of covariances only quarterly, and the revisions are small.

Expected returns (or “relative attractiveness” ratings, which affect expec-

ted returns) change more frequently, but the changes from month to month

tend to be relatively small. The composition of the portfolio, in terms

of the relative market values of holdings, will change during the course

of a month, but if the organization reacts to relative price changes appro-

priately, by changing expected returns and/or covariance estimates, the

*
Based on estimates provided by a time-sharing company. The company in
question bases its charges on both CPU time and disk input and output
operations (both of which were taken into account in the estimates).
Given this pricing structure, the code could undoubtedly be altered
to reduce cost, but no attempt has been made to estimate the amount
that could be saved in this manner. Moreover, no attempt was made
to determine whether other companies’ pricing structures would result
in lower costs for the algorithm as presently programmed.
—22-

appropriate portfolio revision should be small. As long as realistic turn-

over penalties are included in the problem formulation, relatively few iter-

ations should be required to revise any portfolio optimized a month or two

earlier. -

Thus one might reasonably expect costs dramatically lower than those

shown here. However, only extended use by an ongoing organization can pro-

vide definitive answers concerning the true cost of practical application of

the algorithm.
-23-

References

El. Elton, E.J. and Gruber, N.J., “Estimating the Dependence Structure

of Share Prices -- Implications for Portfolio Selection,” Journal of

Finance, December 1973.

E2. Elton, E.J., Gruber, M.J. and Padberg, M.W., “Portfolio Selection

-- The Exploitation of Special Structures,” Bulletin of the Opera-ET1 w386 527 m51

tions Research Society of America, Spring 1974.

E3. Elton, E.J., Gruber, M.J. and Padberg, M.W., “Simple Criteria for

Optimal Portfolio Selection,” Journal of Finance, December 1976.

E4. Elton, E.G., Gruber, N.J. and Padberg, M.W., “Simple Rules for

Optimal Portfolio Selection -- the Multi-group Case,” Journal of

Financial and Quantitative .Analysis, September 1977.

Fl. Farrell, J.L., Jr., “Analyzing Covariation of Return to Determine

Homogeneous Stock Groupings,” Journal of Business, April 1974.

Kl. King, B.F., “Market and Industry Factors in Stock Price Behavior,”

Journal of Business, January 1966.

Ml. Markowitz, H.N., “The Optimization of a Quadratic Function Subject

to Linear Constraints,” Naval Research Logistics Ouarterly, March-

June 1956.

M2. Markowitz, H.M., Portfolio Selection: Efficient Diversification of

Investments, Wiley, 1959.


-24-

P1. Pogue, J.A., “An Extension of the Markowitz Portfolio Selection Model

to Include Variable Transactions Costs, Short Sales, Leverage Policies

and Taxes,” Journal of Finance, December 1970.

~Rl. The RAND Corporation, Quadratic Programming Code QP4

R2. Ravindran, A., “A Computer Routine for Quadratic and Linear Programming

‘Problems,” Communications of the ACM, September 1972.

R3. Rosenberg, B. and Narathe, V., “Common Factors in Security Returns:

Nicroeconomic Determinants and Macroeconomic Correlates,” Proceedings

of the Seminar on the Analysis of Security Prices, University of

Chicago, May 1976.

R4. Rosenberg, B. and Rudd, A., “Portfolio Optimization Algorithms: a

Progress Report,” University of California Research Program in Finance

working paper No. 42.

Sl. Sharpe, W.F., “A Simplified Model for Portfolio Analysis,” Management

Science, January 1963.

S2. Sharpe, W.F., Portfolio Theory and Capital Markets, McGraw-Hill 1970.

S3. Sharpe, W.F., “A Linear Programming Approximation for the General

Portfolio Analysis Problem,” Journal of Financial and Quantitative

Analysis, December 1971.

S4. Stone, B.F., “A Linear Programming Formulation of the General Port-

folio Selection Problem,” Journal of Financial and Quantitative

Analysis, September 1973.


-25-

Vl. Van Hohenbalken, B., “Simplicial Decomposition in Non-linear Program-

ming Algorithms,” University of Alberta Department of Economics Research

Paper No. 21, 1974.

You might also like