• Keine Ergebnisse gefunden

MINET a fast Network LP Solver

N/A
N/A
Protected

Academic year: 2022

Aktie "MINET a fast Network LP Solver"

Copied!
19
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Working Paper

MINEI' A

FAST NCPWORK Id'

SOWER

I. Maros

June 1987 WP-87-50

International Institute for Applied Systems Analysis

A-2361 Laxenburg, Austria

(2)

June 1987 WP-87-50

Working Papers are interim r e p o r t s on work of t h e International Institute f o r Applied Systems Analysis a n d have r e c e i v e d only limited review. Views or opinions e x p r e s s e d h e r e i n d o not necessarily r e p r e s e n t t h o s e of t h e Institute or of i t s National Member Organizations.

INTERNATIONAL INSTITUTE FOR APPLIED SYSTEMS ANALYSIS A-2361 Laxenburg, Austria

(3)

FOREWORD

In comparison with a l r e a d y existing software f o r t h e solution of network t y p e l i n e a r programming problems, MINET gives a possibility of v e r y flexible pricing t h a t c a n b e f u r t h e r f i t t e d to t h e special s t r u c t u r e of t h e network and using a suit- a b l e i n t e r f a c e , i t c a n r e f l e c t t h e need f o r changing t h e network s t r u c t u r e .

Alexander B. K u n h a n s k i Chairman System and Decision Sciences P r o g r a m

(4)

CONTENTS

1 Introduction

2 Problem Statement

3 Solution of Network LP Problems 4 Implementational Considerations 5 Irnplementational Tools of MINET 6 Use of MINET

7 Concluding Remarks References

(5)

I. M a r o s

Computer and Automation Institute of t h e Hungarian Academy of Sciences, Budapest

1. INTRODUCTION

Within t h e frame of IIASA project 'Uodeling of Interconnected Power Systems"

i t w a s necessary t o create a n advanoed implementation of a network linear pro- gramming (LP) algorithm. The program i s supposed to work in a hierarchical sys- t e m of programs under conditions which are different from t h e routine p r a c t i c e of network LP applications. The main purpose of this new development is to have an efficient network LP solver which can easily be included in o t h e r systems and which i s under full control of t h e designers and implementers of t h e power system model. As a by-product, t h e system can be made available for stand-alone usage.

The program is based on t h e unpublished implementation PNS (Pure Network Sys- tem) of Maros (Eindhoven University of Technology, Eindhoven, The Netherlands, 1983). For f u r t h e r r e f e r e n c e t h e new implementation will be called MINET.

The special s t r u c t u r e of t h e network LP problems has challenged many r e s e a r c h e r s to exploit this f e a t u r e in favor of efficiency of t h e solution process and capacity of programs. In this context efficiency i s measured in solution time while capacity is understood as t h e maximum size of problems t h a t can be solved by a given program.

The l i t e r a t u r e is r i c h in t h e theoretical foundation of t h e specialized network simplex method and s o m e important algorithmic details a r e also published. Less at- tention w a s paid to c e r t a i n implementational details which, however, also consider- ably influence t h e efficiency of a program.

The purpose of this p a p e r is (a) t o give account of t h e theoretical back- ground, implementational tools, capabilities, and special f e a t u r e s of MINET, (b) to s e r v e as a user's guide. It also r e p o r t s s o m e limited computational experiences.

(6)

2. PBOBIZM STAT-NT

The minimal cost network flow (MCNF) problem o r capacitated transshipment problem can be s t a t e d as follows:

s u b j e c t t o

z

x ( i , k )

- z

x ( k , j ) = b ( k ) f o r k f M (2)

f e I ( k ) j E O ( k )

where

E i s a set of arcs ( i , j ) of t h e network G(M, E ) , M i s t h e set of nodes.

The cardinality of M i s denoted by m , and t h a t of E is denoted by n . The con- s t a n t b ( k ) r e p r e s e n t s t h e requirement at node k . A node k f M , f o r which

b ( k )

<

0 i s called a supply node, b ( k )

>

0 is called a demand node,

b ( k )

=

0 is called a p u r e transshipment node.

I t i s assumed t h a t

If V

<

0 then t h e r e i s no feasible solution. If V

>

0 then t h e problem can be con- v e r t e d to t h e prescribed form by adding a dummy destination with a requirement of -V and slack arcs from each s o u r c e t o t h e dummy destination. The slack arcs are given unit costs of z e r o and infinite arc capacities.

It should be noted t h a t (3) i s not a r e s t r i c t i o n of generality because individual lower bounds of t h e variables different from z e r o can always be moved to z e r o by a simple transformation.

(7)

Associated with each node k E M is a dual variable n(k) called its node poten- tial or simplex multiplier. An a r c ( i , j ) is directed from node i to node j. An a r c

( i , j ) is said t o be out-directed from node i and in-directed in node j. In this sense I (k ) i s the set of tail nodes of arcs t h a t are in-directed t o node k , and 0 ( k ) is t h e set of head nodes of arcs t h a t are out-directed from node k

.

The flow, cost, and u p p e r bound of a r c ( i , j ) are represented, respectively by z ( i

,

j ) , c ( i

,

j ) , and u (i , j ). The objective is to determine a set of a r c flows which satisfies t h e node requirements and capacity restrictions at a minimum total cost.

REMARK In t h e above description w e followed t h e terminology of [3].

Let us denote t h e matrix of constraints on t h e left hand side of (2) by A . I t i s easy to see t h a t each column of A is associated with an arc ( i , j ) and contains one coefficient with value of -1 and one with +1 corresponding to t h e starting node and t h e ending node, respectively. In addition to this usual case w e allow in MINET such arcs which correspond to loops (self-loops). In this case t h e "from" and t h e "to"

nodes coincide. The matrix column of such an a r c contains one -1 coefficient.

Using a more concise notation w e c a n write problem (1)-(3) in t h e following form (with evident interpretation of the correspondence):

minimize z

=

c 'z ( 5 )

subject t o Az

=

b ( 6 )

where A is a n m by n matrix, c , z , and u are n-vectors, b is a n m -vector and ' (prime) denotes t h e transpose.

The dual of this problem is t h e following:

maximize 2

=

b ' w

-

u ' V (8)

w unrestricted

,

(10)

where w is a n m -vector and v is an n-vector of dual variables.

(8)

I t is a r a t h e r characteristic feature of the network LP problems t h a t usually t h e r e are much more arcs than nodes, i.e. the number of variables i s much l a r g e r than the number of node constraints, m

<<

n .

3.

SOLUTION OF NETWOBK LP PEOBLEHS

For solving problem formulated in (5)-(7) primal (e.g.[3]), dual (e.g. [9]), and primal-dual (e.g.[Z]) algorithms have been proposed. A s a result of r e c e n t develop- ments t h e primal type algorithms show clear superiority over the others. The dramatic improvement of t h e performance of network LP solvers is largely due to the successful application of new achievements in computer implementation tech- nology f o r optimization algorithms.

Following

p]

we can s a y t h a t computer implementation technology seeks t o discover efficient procedures f o r carrying out subalgorithms of a general method on a computer by investigating (a) what kind of information to generate and main- tain f o r executing operations most effectively, (b) which data s t r u c t u r e s are best to r e c o r d , access, and update this information, and (c) what methods are m o s t suit- able f o r processing these data t o make t h e t h e desired information available when i t i s needed. Such knowledge can be t h e result of long experience in the theory and practice of optimization and t h e p r o p e r combination of t h e best elements of mathematics and computer science.

In the case of t h e solution of network LP problems the underlying algorithm i s the revised primal simplex method where t h e very special s t r u c t u r e of the problem is highly exploited. This i s done in two aspects:

-

mathematical considerations,

-

implementational considerations.

A bounded variable simplex basis f o r a network flow problem corresponds t o a spanning t r e e with m

-

1 arcs. Knowing this t r e e and the nonbasic variables at bound t h e actual basic solution can easily be calculated. This practically corresponds t o t h e case when t h e basis of a general LP problem i s triangular ( o r combinatorially triangularizable). Thus

-

in contrast with t h e standard revised simplex method

-

we do not need the basis inverse ( o r equivalents of i t ) in any form. This is one of t h e main points in the specialization. Any information required f o r the steps of t h e simplex method can directly be provided by this triangular

(9)

basis o r r a t h e r by p r o p e r operations on t h e basis tree. The required arithmetic operations are addition, subtraction, and multiplication. It means t h a t if our start- ing values a r e integers then we can simply use integer arithmetic all t h e time. This (a) considerably improves t h e efficiency of t h e algorithm, and (b) completely ex- cludes computational errors which is a frequent problem with general purpose linear programming algorithms.

4. III[PLEHENTATIONAL CONSIDERATIONS

The r e p o r t s on efficient network simplex algorithms usually describe t h e theoretical achievements but do not indicate explicitly how t h e operations are to be organized t o minimize t h e computational and updating e f f o r t p e r iteration. The only exception in this r e s p e c t s e e m s to be [I] which presents a number of algo- rithms in detail but unfortunately they are not f r e e of errors and t h e r e f o r e cannot directly be implemented. A v e r y r e c e n t p a p e r [I21 (which w a s not available when e i t h e r PNS in 1982-83, o r MINET in 1985 were designed) gives an e l a b o r a t e algo- rithm but due to t h e s h o r t a g e of time i t could not be checked. In any case t h e algo- rithm shows a c a r e f u l design and is surely a valuable contribution to t h e network L P l i t e r a t u r e .

I t should be noted h e r e t h a t t h e minimization of t h e computational e f f o r t p e r iteration usually does not r e s u l t in t h e minimization of t h e total computational ef- f o r t to solve a problem. This l a t t e r i s heavily influenced by t h e pricing s t r a t e g y applied while this i s a r a t h e r problem dependent f a c t o r . To achieve good overall performance with a network L P program properly refined pricing s t r a t e g y must be implemented.

The basic idea in t h e efficient specialization of t h e simplex method i s t h e spe- cial representation, w e , and updating of t h e basis. By t h i s w e can achieve t h e ef- ficient performance of t h e basic operations of t h e revised simplex method (BTRAN, PRICING, and FTRAN). The developed techniques use t h e rooted tree r e p r e s e n t a - tion of t h e basis. MINET adds one node to M and this node is considered t h e root of t h e basis tree. The root node i s r e g a r d e d as being on t h e t o p in t h e rooted tree with all o t h e r nodes hanging below it. If nodes i and j denote endpoints of a n arc in t h e rooted t r e e such t h a t node i is closer to t h e r o o t , then i is called t h e predecessor of node j and node j is called t h e immediate successor of node i

.

(10)

To facilitate t h e description of t h e list functions used in t h e network simplex algorithms w e will use some notations:

T

=

t h e basis tree.

T ( z )

=

s u b t r e e of T headed by node z (i.e. t h e s u b t r e e t h a t includes z and all i t s successors in t h e predecessor ordering).

For handling t h e basis t h e following list functions have been defined:

p ( z )

=

t h e predecessor of node z

.

If z i s t h e r o o t node then p ( z )

=

0.

s (Z )

=

"thread successor" of z

.

Function s ( z ) may be thought as a t h r e a d which passes through each node ex- actly once in a top to bottom, left to r i g h t o r d e r , starting from t h e r o o t node. The thread-successor of t h e last node is t h e r o o t node. If w e denote t h e root node by 1 , then t h e set Is (11, s2(1),

. . .

, sn (1)

=

11 is exactly t h e set of nodes of t h e rooted tree, where s2(1)

=

s ( s (1)), s 3 ( 1 )

=

s (s2(1)), etc.

r ( z )

=

r e v e r s e t h r e a d of z

.

t ( z )

=

number of nodes in T(z ).

f ( z )

=

last node in T ( z ) in t h r e a d ordering.

h ( z )

=

distance of node z from t h e r o o t node (i.e. t h e number of arcs to be passed from z to t h e root in t h e predecessor order). h (1) is de- fined t o b e 0 .

g ( z )

=

p r e o r d e r distance of node z. This denotes t h e sequential position of node z in t h e t h r e a d ordering. By this definition g (1) =l.

i d ( z )

=

directed arc identifier. Suppose arc E (ib ( z )) connects nodes z and p ( z ) [ib (i) denotes t h e column number of t h e i-th basic arc in t h e matrix]. i d ( z ) i s defined as follows:

For representing T t h e minimum requirement i s to keep t h e predecessor, thread, and directed arc identifier functions. N o t e t h a t each of t h e above defined functions requires an m

+

1 length integer a r r a y . In general i t is t r u e t h a t if w e use more functions and at t h e same time occupy more memory s p a c e f o r t h e a r r a y s t h e algorithm will be f a s t e r (even if logically m o r e complicated). This leads us to

(11)

t h e w e l l known space-time conflict. (It a l s o should be noted t h a t not all t h e above functions c a n be used simultaneously because some of them a r e replacements f o r t h e o t h e r s . ) Setting up t h e design c r i t e r i a w e c a n decide on how f a r to g o in using more functions and complicated algorithm to gain speed. This decision influences t h e maximum problem size as well.

Glover, Klingman and Stutz in [ll] use t h e p r e d e c e s s o r , t h r e a d , r e v e r s e t h r e a d , and d i r e c t e d arc identifier functions.

Srinivasan and Thompson in [14] agumented t h e data s t r u c t u r e with t h e dis- t a n c e function which resulted in some simplifications and s p e e d improvement of t h e algorithm at t h e expense of updating t h e distance function in e a c h iteration.

Ali

et al. r e p o r t e d in [I] th a t Glover and Klingman had r e p l a c e d t h e distance function by t h e number of nodes in s u b t r e e function. The resulting p r o c e d u r e re- tained t h e benefits of t h e previous algorithm while giving a c h e a p updating of t h e newly used function.

Bradley, Brown, and Graves in [4] r e p l a c e d t h e distance o r t h e number of nodes in s u b t r e e functions by t h e p r e o r d e r distance function. In this way t r a c i n g t h e cycle (to find t h e leaving arc of t h e basis t r e e ) i s simpler but t h e updating i s more difficult.

AU et al. r e p o r t e d in [I] th e following observation. If a basic arc i s removed from T, then T i s partitioned into two trees T 1 and T2, where t h e root i s contained in T I . The dual Variables of e i t h e r T 1 o r T2 must b e updated. If w e augment t h e d a t a s t r u c t u r e with t h e number of nodes in s u b t r e e function t h e n t h e smaller sub- tree f o r updating c a n easily b e selected. W e transform T1 and

T2

into independent t r e e s , update t h e dual v a r i a b l e s in t h e tree with fewer nodes, t h e n r e c o n n e c t T 1 and T2 and complete t h e updating.

5. IHPLE16ENTATIONAL TOOLS OF HINET

As noted e a r l i e r t h e available l i t e r a t u r e does not provide a full description of a n implementation and many of t h e published sub-algorithms contain errors. When developing t h e p r e d e c e s s o r of MINET (PNS, 1983) we simply wanted to make a n ef- ficiently operating c o r r e c t network implementation f o r problem (1)-(3). The test- ing of PNS h a s given promising r e s u l t s and t h e r e f o r e i t i s considered a good start- ing basis f o r developing MINET.

(12)

Algorithmically MINET i s a specialized primal revised simplex method f o r solv- ing MCNF problems. F o r t h e r e p r e s e n t a t i o n of t h e rooted basis t r e e T i t uses t h e following functions (just as does i t PNS):

-

d i r e c t e d arc identifier,

-

p r e d e c e s s o r ,

-

t h r e a d .

-

r e v e r s e t h r e a d ,

-

number of nodes in s u b t r e e .

-

last node in s u b t r e e .

Matrix A of (6) i s r e p r e s e n t e d in MINET in t h e following way: The indices of t h e nonzero e n t r i e s a r e s t o r e d in a column-wise o r d e r in t h e Linear list inti ( e ) . To identify t h e beginning of columns in this list a n a r r a y of column p o i n t e r s cp (.) i s used. In e a c h column t h e index of t h e 'from' node i s supposed to be listed f i r s t and i t i s followed by t h e index of t h e 'to' node if i t exists. The u p p e r bounds and t h e cost coefficients of t h e arcs are s t o r e d in a r r a y s u (.) and cst (.), respectively. The s t a t u s of t h e arc variables c a n be found in a r r a y m a r k '). Basically this c a n as- sume t h r e e different values corresponding to basic, nonbasic at lower bound, and nonbasic at u p p e r bound situations.

The flexibility of this scheme i s evident and will b e r e c a l l e d l a t e r .

As a s t a r t i n g basis MINET creates a n a l l s l a c k basis, where all t h e nodes are connected t o t h e a r t i f i c i a l root [Master Root]. The c a p a c i t y of t h e s e arcs i s un- bounded. A d i r e c t e d arc identifier i s negative if t h e corresponding node require- ment i s negative (supply node), else i t i s positive. I t is e a s y t o see t h a t f o r t h i s trivial basis t h e corresponding administration i s t h e following:

(13)

The index of t h e Master Root i s m

+

1.

The s t a r t i n g basic solution is usually infeasible. In phase-1 t h e program at- tempts to reduce t h e flows on all artificial arcs to zero. For t h i s purpose a special algorithm is used taking t h e advantage of ideas described in [13]. In t h e p r e s e n t interpretation i t means t h e setting up of t h e vector of simplex multipliers s t o r e d in pi(.) with t h e following values:

( i ) 1 if b ( i ) < O

.

Note t h a t (4) must hold f o r t h e problem, otherwise feasible solution cannot be found.

An iteration starts with t h e pricing operation. This s e r v e s to compute t h e d(j) reduced costs f o r t h e nonbasic variables and to select one candidate f o r entering the basis. If such a variable cannot be found then e i t h e r (a) a n optimal solution is r e a c h e d if w e are i n phase-2, o r (b) phase-1 i s terminated in which case the situation is still t o be evaluated: if all t h e artificial flows are driven to z e r o then phase-2 is initiated, otherwise t h e problem h a s no feasible solution.

Variables corresponding to artificial arcs are never priced because they are type-0 variables (see [13]).

The pricing operation of a column consists of t h e following computation if i points to t h e f i r s t nonzero e n t r y of column j :

d ( j )

= -

n ( i n d ( i ))

+

~ ( i n d ( i

+

1 ) )

-

cst ( j ), if t h e arc is ordinary

,

(11) d j

= -

( 2i )

+

m

+

1

-

s t (j ) if t h e arc is a self-loop

.

(12) In phase-1 t h e cst ( a ) p a r t i s not present. If nonbasic variable j is at u p p e r bound then w e change t h e sign of d ( j ) f o r evaluation.

I t i s easy to see from (11) and (12) t h a t pricing a column i s a 'cheap' opera- tion in t h e sense of t h e number of memory accesses and arithmetic operations.

If t h e r e exists at least one nonbasic column with d ( j )

>

0 , then t h e optimality condition is not satisfied and variable j is introduced to t h e basis.

The simplicity of t h e pricing operation can be misleading. Since in practical cases t h e number of arcs ( n ) is much l a r g e r than t h e number of nodes (m), t h e r e are many nonbasic variables t h a t must b e scanned in t h e c o u r s e of iterations be-

(14)

f o r e optimality can be declared. Many of the pricing s t r a t e g i e s work in such a way t h a t a g r e a t number ( o r all) of t h e nonbasic variables a r e priced in one iteration (c.f. steepest ascent). This can result in a tremendous amount of computations to find an entering arc. This is trw even f o r t h e simplest selection rule 'first posi- tive'. There a r e statistics showing t h a t 50-90 percent of t h e computational e f f o r t to solve a network LP problem i s spent on pricing. With special problems these fig- u r e s can even be w o r s e . Though these facts have been recognized by some r e s e a r c h e r s , a general purpose 'optimal' pricing s t r a t e g y has not been found yet.

Observations show t h a t the efficiency of the pricing s t r a t e g y is generally problem dependent (at least with the known pricing strategies). Since w e have no informa- tion on the s t r u c t u r e and 'behavior' of t h e problems to be solved in project

"Modeling of Interconnected Power Systems" w e implemented s o m e known pricing strategies and designed a new one which has some f r e e parameters. These parame- ters enable t h e u s e r of t h e system to tune t h e program to a given class of problems to solve the members of the class in an efficient way.

The pricing strategy to be used can be defined in t h e starting phase of MINET.

When t h e standard pricing [ST] i s selected we have t h e chance t o f u r t h e r specify the way i t should work. In this case column selection strategy is controlled by the u s e r defined variable 'np ' as follows:

np

=

0 f i r s t positive d ( j ) in phase-1, largest d (j) in phase-;?, np

=

1 l a r g e s t d ( j ) in both phases,

np

=

2 f i r s t positive d ( j ) in both phases,

np

=

3 f i r s t positive d ( j ) in phase-1, but scanning starts at t h e last column and goes backwards, largest d (j) in phase-2.

In MINET standard pricing i s c a r r i e d out by SUBROUTINE PRICE 1.

When the new pricing strategy (called sectional pricing and r e f e r r e d as SC) i s selected then some f u r t h e r parameters have to be provided by the user. Before describing the meaning of the parameters w e briefly outline t h e basic idea of SC.

In a general pricing s t e p SC scans only a subset of t h e nonbasic variables. For this purpose matrix A of (6) i s partitioned into adjacent sections of the s a m e size (only the last section can somewhat be smaller). The size i s defined a s percent NPERC of n (the number of a r c s ) which, at the same time, defines the number of sections (NSC). There is a parameter KVEC t h a t gives the number of improving vectors (the ones with positive d(j)) to be found in one section if t h e r e are any.

(15)

Pricing of a sections s t o p s when this number of v e c t o r s have been found and t h e column where i t happened i s recorded. Next scanning will start at t h i s point.

There i s an o t h e r p a r a m e t e r KSEC t h a t controls t h e number of sections

to

b e

scanned in one pricing operation. In MINET KSEC i s temporarily set to t h e number of sections (NSC), t h a t i s all sections are scanned with t h e above technique. The fi- nal decision on t h e entering column i s based on t h e magnitude of t h e corresponding d ( j ) a n d t h e l a r g e s t one i s s e l e c t e d from among t h e scanned candidates. Special c a r e must b e t a k e n when t h e p r e s c r i b e d number of improving v e c t o r s cannot be found (typically in t h e neighborhood of an optimal solution), especially to d e c l a r e optimality a 'full pricing' i s necessary. The logical s t r u c t u r e of SC (which c a n easi- ly b e r e c o n s t r u c t e d from t h e s o u r o e code of SUBROUTINE SPRICE) automatically c o v e r s a l l t h e s e cases.

I t i s e a s y to see t h a t SC i s a r a t h e r flexible pricing scheme (which s t i l l c a n b e extended t o multiple pricing) and many of t h e known pricing s t r a t e g i e s are con- tained in i t as special cases t h a t c a n be reproduced by special definition of param- eters NPERC, KVEC, and KSEC. The power of SC h a s a l r e a d y been proved in a gen- e r a l LP implementation (MAPS) of t h e a u t h o r and in t h e limited number of experi- e n c e s t h a t w e had with MINET (where t h e improvement w a s dramatic).

Using t h e above definitions now w e can easily d e s c r i b e t h e p a r a m e t e r s to b e provided f o r MINET when SC i s selected. These p a r a m e t e r s are simply NPERC and KVEC. (As mentioned e a r l i e r KSEC i s not a u s e r acoessible p a r a m e t e r yet.)

After pricing (which r e s u l t e d in finding a candidate a r c variable) t h e next question i s t h e determination of t h e outgoing variable. This i s done in t h e pivot operation. To c a r r y o u t t h i s s t e p in g e n e r a l LP w e need t h e updated form of t h e in- coming column. This c a n be obtained by t h e expensive FTRAN operation. In net- work LP FTRAN c a n completely b e omitted and t h e pivot s t e p ( r a t i o t e s t ) c a n b e c a r r i e d out by t r a c i n g t h e loop ( c r e a t e d by t h e incoming a r c ) on t h e basic span- ning tree.

In MINET r a t i o test i s c a r r i e d out by SUBROUTINE RTEST1.

The subsequent updating operation r e q u i r e s t h e modification of t h e adminis- t r a t i o n of t h e basic spanning t r e e , t h e simplex multipliers, and t h e basic solution as well. This i s a r a t h e r complicated p r o c e d u r e and i s p a r t l y based on some ideas of [I] a n d [3].

(16)

-

1 2

-

The updating s t e p s of MINET can be found in t h e lengthy SUBROUTINE UD1.

6. USE

OF

ilIMET

The present version of MINET can be used in a stand-alone mode on t h e VAX computer of IIASA. The program i s written in FORTRAN77 language of t h e VAX. The source code of t h e program is portable to o t h e r FORTRAN77 systems with t w o pos- sible exaeptions:

(a) The VAX FORTRAN uses t h e Dollar sign ($) in a FORMAT statement where t h e standard FORTRAN77 uses backslash (\ ).

(b) The INCLUDE statement of VAX FORTRAN is non-standard.

The subroutines of MINET are commented so t h a t t h e r e a d e r can have a f i r s t idea of t h e function and operation of them. The source code of MINET can be found in files 'minetl.fl containing t h e program, and 'minetcom.for' containing t h e com- mon variables. The latter file also provides information on the meaning of vari- ables and t h e way how t h e maximum size of t h e solvable problems can be changed in t h e declarations.

MINET is a fully in-core program, i.e. a f t e r loading and reading in t h e problem i t does not use t h e background store (disk). The compaot d a t a s t o r a g e scheme makes i t possible t h a t very l a r g e problems can be solved by this in-core version.

The problem t o be solved must be provided in a t e x t file with t h e following s t r u c t u r e . (The s t r u c t u r e i s very simple and can easily be changed if necessary.) 1 rec. M,N, format: 215 (i.e. two fields, 5 c h a r a c t e r s wide each, right justi-

fied)

2 rec. ' f r o m ' node, 'to' node, upper-bound, cost coefficient, format: 215,2110

N

+

2 r e c . right-hand-side elements, five in one record. format: 5110.

(17)

To invoke MINET w e simply type t h e name of t h e file where t h e executable program resides (presently i t is *minetl.out'). The start p r o c e d u r e of MINET con- sists of a dialogue p a r t . The output of MINET a p p e a r s in capital letters if a u s e r response is required, otherwise in s m a l l - c a s e letters.

For program maintenance purposes a single variable is used t o control t h e ex- t e n t of intermediate output. First this trace variable i s questioned. The recom- mended value f o r normal use i s 0 (zero). After this t h e name of t h e input file, t h e pricing s t r a t e g y , and t h e p a r a m e t e r s of the selected pricing s t r a t e g y must be given. A t trace level 0 only two lines of intermediate r e s u l t s a p p e a r . One a f t e r completion of phase-1, and one a f t e r a n optimal solution h a s been found (if such exists). In both cases t h e number of iterations and t h e value of t h e t r u e objective function a r e displayed.

A detailed t a b u l a r output of t h e solution i s not automatically produced. The u s e r i s asked if he/she wants to have it. In t h e case of yes, t h e name of t h e output file must be given.

The structure of the t a b u l a r output is traditional. I t contains information on t h e column and r o w variables as well.

The shadow p r i c e s of t h e r o w variables are actually t h e values of t h e dual variables w ( i ) , while t h e shadow p r i c e s of t h e column variable are the values of dual variables v ( j ) , or t h e negative of them if a variable is at bound.

7. CONCLUDING EtEWRKS

After checking t h e correct operation of MINET we generated some l a r g e r problems t o test efficiency. For this purpose we used t h e t r a i l e r subproblems of R.R. Love, j r . 'Traffic Scheduling via Benders Decomposition', Mathematical Pro- gramming Study 15. The l a r g e s t of t h e s e problems contained 124 nodes and 3894 arcs. This specific type of problems w a s very sensitive to t h e pricing s t r a t e g y ap- plied and interestingly enough produced t h e best r u n statistics with NPERC=100 and KVEC=l which corresponds to a special p a r t i a l pricing s t r a t e g y . The solution time on t h e VAX 11/780 computer of IIASA w a s less than 4 seconds (residence time) under l o w workload conditions of the machine.

I t should be noted t h a t t h e above procedure does not mean a heavy testing of MINET, and this job must be done in the next phase of t h e p r o j e c t "Modeling of In- terconnected Power Systems". This will also be a good occasion to tune t h e algo-

(18)

rithm to t h e specific needs of t h e modeled power networks. One of t h e s e require- ments i s already known and t h i s i s t h e ability of modifying t h e s t r u c t u r e of t h e net- work. Clearly, this c a n b e done in a r a t h e r easy way. If a n arc i s to be deleted then t h e m a r k e r mark (a) of i t can simply be set to 0. If a n arc i s to b e added t h e n i t c a n be put a f t e r t h e last arc using t h e d a t a scheme described above. Adding a node re- quires a little bit more work with t h e p r e s e n t assumption t h a t t h e Master Root (MR) i s indexed m

+

1. Now t h e new node(s) can simply be added t o t h e existing ones and t h e new value f o r m must be established which a l s o defines t h e new index of MR.

Now t h e new a r c @ ) connecting t h e new node@) can be added in t h e above described way. This administration could be made e a s i e r if we used 0 f o r indexing MR. While on t h e VAX FYIRTRAN i t i s possible, t h e FORTRAN77 s y s t e m which w e used f o r pro- gram development i t was impossible. This point i s a l s o considered as a possible f u r t h e r improvement on ' u s e r friendliness' and flexibility of t h e s y s t e m .

[I

1

Ali, A.I., R.V.Helgason, J.L.Kennington and H.S.Lal1: " P r i m a l Simplex Network Codes: State-of-the-Art Implementation Technology", Networks 8(1978), pp.

315-339.

[2] B a r r , R., F.Glover and D.Klingman: "An improved version of t h e Out-of-Kilter Method and a comparative study of computer codes", Mathematical Program- ming, vo1.7. No. 1.(1974), pp. 60-87.

[3] B a r r , R., F.Glover and D.Klingman: 'Znhancements of Spanning T r e e Labeling P r o c e d u r e s f o r Network Optimization", Infor 17(1979) pp. 16-34.

[4] Bradley, G.H., G .G .Brown and G.W.Graves: "Design and Implementation of Large Scale Primal Twnsshipment Algorithms". Management Science, 24, 1 , 1977, pp. 1-34.

[5] Glover, F., D.Karney and D.Klingman: 'Implementation and Computational Study on Start P r o c e d u r e s and Basis Change C r i t e r i a f o r a Primal Network Code", Networks 4(3) (1974) 191-212.

[6] Glover, F., D.Karney, D.Klingman and A.Napier: "A Computational Study on Start P r o c e d u r e s , Basis Change C r i t e r i a , and Solution Algorithms f o r Tran- sportation Problems", Management Science 20(1974), pp. 793-813.

C73

Glover, F. and D.Klingman: "Recent Developments in Computer Implementation Technology f o r Network Flow Algorithms", International Workshop on Ad- vances in Linear Optimization Algorithms and Software, Pisa, Italy, July 20-31.1980.

[8] Glover, F. and D.Klingman: 'The Simplex SON Algorithm f o r LPDmbedded N e t - work Problems", Mathematical Programming Study 15(1981) pp. 148-176.

[9] Glover, F., D.Karney and D.Klingman: "Implementation and Computational Com- parison of Primal, Dual and Primal-Dual Computer Codes f o r Minimum Cost Network Flow Problems", Networks, 4, 3(1974), pp. 191-212.

(19)

[lo]

Glover, F., D.Karney and D.Klingman: "Double-Pricing, Dual and Feasible S t a r t Algorithms for t h e Capacitated Transportation (Distribution) Problem", c c s Research Report 105, Center f o r Cybernetic Studies, University of Texas, Austin, Texas (undated).

[ll] Glover, F., D-Klingman and J.Stutz: "Augmented Threaded Index Method f o r Network Optimization", INFOR, 12, 3,1974, pp. 293-298.

[I23 Grigoriadis, M.D.: "An Efficient Implementation of t h e Network Simplex Method", Mathematical Programming Study 26(1986), pp. 83-111.

[13] Maros, I.: "A General Phase-I Method in Linear Programming", European Jour- nal of Operational Research, 2 3 (1986), pp .64-7'7.

[I41 Srinivasan, V. and G.L.Thompson: "Accelerated Algorithms for Labeling and Relabeling of Trees with Applications to Distribution Problems", Journal of t h e Association of Computing Machinery, 19, 4 , 1972, pp. 712-726.

Referenzen

ÄHNLICHE DOKUMENTE

cf. They need to be in a position where they can pull data from a.. variety of sources on the web whenever they need it and they need to be able to move from one source to the next

In a general pricing step SC scans only a subset of nonbasic variables and the one with the largest reduced cost is selected to enter the basis.. The last scanned

The n l s t e r problem sends prices to the subproblems for linlung variables and receives optimal values of linking variables and optimal values of objctive

due to the channel structure used by this protocol, at any time the number of the blocks waiting for acnowledgment at the transmitting side cannot be higher than the total number

Results: We formulated the core metabolism of Arabidopsis thaliana based on recent knowledge from literature, including the Calvin cycle, glycolysis and citric acid cycle,

The best QoS performance for VoIP over Tor network were the experimental results for July 2013, when 65% of calls were acceptable, and the worst result was in October

The continuity of ϕ follows from the continuity of the volume and the support function and from the weak continuity of the surface area measure, since x 7→ P (x) is continuous as

-&gt; we will define a variation of the Katz centrality in which the centrality I derive from my network neighbors is proportional to their centrality divided by their out-degree.