8

Click here to load reader

Transporting and Mixing Gasses with Different Qualities

Embed Size (px)

Citation preview

Page 1: Transporting and Mixing Gasses with Different Qualities

KATE. H. TEN: HOEVEN, T. VAK DER: SIERKSMA, G.: Transporting and Mixing Gasses 99

ZAMM . Z. angew. Math. Mech. 77 (1997) 2, 99-106

KATE, H. TEN; HOEVEN, T. VAN DER; SIERKSMA, G.

Transporting and Mixing Gasses with Different Qualities

Eine der hauptsachlichen wirtschaftlichen Strategien der niederkndischen Erdgas-Gesellschaft “Gasunie” besteht darin, den stets fluktuierenden Bedarf zu erfullen, selbst wenn pfitzliche Temperaturanderungen aufireten. Grob gesprochen wird das Erdgas an drei Orten gefdrdert, die verschiedene Gasqualitiit liefern. Es ward ein schneller und flexibler Algo- rithmus benijtigt, u m die zu mischenden und zu transportierenden Erdgasmengen zu bestimmen. In der vorliegenden Arbeit werden die Vorteile von stiickweise linearer und Netzwerk-Programmierung zu einem simplex-ahnlichen Algorith- mus kombiniert, mit dem die bisher verwendeten Algorithmen mindestens u m den Faktor 50 beschleunigt werden.

The Dutch gas company “Gasunie” has as one of its main policies, always meeting fluctuating demands, even in case of sudden changes of temperature. Gas originates roughly from three locations which have different gas qualities. A fast and flexible algorithm is needed to determine the quantities of gasses to be mixed and transported. I n this paper the advan- tages of piecewise linear and network programming are combined to a simplex-like algorithm, that speeds up the recently used algorithms with at least a factor 50.

MSC (1991): 90C90, 90B06, 90C08, 65K05

1. Mixing while transporting

The Dutch gas company “N.V. Nederlandse Gasunie”, in short “Gasunie”, buys, prepares, and sells gas. The gas origi- nates roughly from three locations, namely from the North Sea, and from the Dutch provinces Friesland and Gronin- gen. The Groningen gas field is the largest of the three, and is explored since about 1963. Gasunie buys the gas from the companies that explore the gas fields: With each of the companies it has annual contracts that cover, among others, minimum and maximum flows (annual, as well as day to day). Due to, for instance temperature fluctuations, the need of gas fluctuates through the year. One of the main policies of Gasunie is: Always meeting the fluctuating demands, even in case of suddenly occurring extreme low temperatures. The quality of the gas is not equal for the three fields: The North Sea gas, for instance, has a higher heating value than the Groningen gas. In order to obtain a quality, desired by consumers and industries, Gasunie has to mix the various gasses. Demand and supply are matched by a network of pipelines, containing several mixing stations; see Figure 1.

( CONTA IN I NG MIXING STATIONS)

I I

CONSUMERS INDUSTRIES J.

Fig. 1. The gas transportation process

Summarizing, Gasunie has to deal with the following t h r e e a s p e c t s :

- Satisfying the contracts with the companies that supply the gas. - Meeting the fluctuating demands of consumers and industries. - Mixing the various gasses to qualities desired by demanding consumers and industries.

For management support, the Gasunie uses a simulation model that adjusts the annual supply and demand on a day to day basis. At each simulation step (1 day) the demand as well as minimum and maximum quantities for the supplying companies are known. Based on the annual contracts and, among others, the current cumulative quantities, a most desired quantity (MDQ) is determined per day for each supplying company. In relation with the MDQ a priority is defined for each supplying company, to indicate whether a deviation from the MDQ is more or less severe. For example, the gas exploration at sea is usually less flexible than the exploration at land, so that the costs should be higher when deviating from the MDQ. The MDQ and the priority determine a cost function for each supplier: For any supply flow x, any deviation from the MDQ will be penalized with cost Pi. The total costs (TC) per day are then the sum of these costs over all suppliers, i.e.:

S

TC = C Pr, IMDQ, - x,I with s the total number of suppliers. i = l

The objective is to minimize the total cost, taking into account the restrictions imposed by the network structure and the restrictions imposed by the mixing stations. The network restrictions lead to constraints expressing that there

7*

Page 2: Transporting and Mixing Gasses with Different Qualities

100

are no losses at each node: What comes in, must get out. The restrictions imposed by the mix stations lead to a relatively small number of nonlinear constraints, called quality constraints. These quality constraints arise from physi- cal laws, the discussion of which goes beyond the scope of this paper; see VAN DER HOEVEN [4].

So, at each simulation step a p r o b l e m with the following properties has to be solved: - The objective function, to be minimized, is the sum of several convex piecewise linear functions. - The gas flows have to satisfy linear network constraints. - The gas flows have to satisfy nonlinear quality constraints.

ZAMM. Z. angew. Math. Mech. 77 (1997) 2

This problem contains a number of nonlinear constraints. So, in order to use linear programming, a certain linearization process needs to be applied at each simulation step. At the successive stages of the process, the lineariza- tion is improved until the solution of the linear model satisfies the nonlinear constraints. The linearized quality con- straints, to be called s i d e constraints, may contain variables that do not represent flows: they indicate the slack be- tween computed and desired heating values, and will be called s i d e variables. At each stage of the linearization process a linear model has to be solved with the following structure:

Min 5 fi(x1i)

s.t. Allxi = bl , 11 5 x 1 5211,

12 I X 2 5 u2 ,

1=1

Azixi + A22~2 = b2 , with n the number of flow variables, m the number of side variables, k the number of network constraints (i.e. the number of nodes), p the number of side constraints, All the (k , n)-network matrix, [A21A22] the (p, n + m)-matrix for the side con- straints, bl the k-vector of right hand sides from the network constraints, bl the p-vector of right hand sides from the side constraints, x1 the n-vector of flows including supply flows, x2 the m-vector of side variables, 11, 12 the n- and m-vectors, respectively, with lower bounds for the flow and side variables, u1, up the n- and m-vectors, respectively, with upper bounds for the flow and side variables, f i ( x l Z ) a convex, continuous, piecewise linear cost function for flow variable zli, defined by:

~ i = l , . . . , n . Pr, /MDQ, - x,I for supply flows otherwise

For a one year simulation, more than 400 of these kind of linear programming models have to be solved. Each such model is a Minimum-cost Flow Problem with side constraints. In order to solve these models, Gasunie uses a standard LP-package. The running time of the simulation models is a couple of hours on a mainframe, largely due to the used LP-package. There are two main reasons for the bad performance of the recent method. The first reason is that the network structure of the model is not explicitly used. The second reason is that when transforming the piece- wise linear cost functions into linear cost functions many extra variables and constraints are needed; see e.g. SIERKSMA [7], and WILLIAMS [8]. In the next section a solution procedure is presented that avoids both drawbacks.

2. Piecewise linear programming for networks with side constraints (PLNS)

The solution technique used for our models integrates the techniques used for models with a piecewise linear cost function (see e.g. FOURER [2]) and the techniques used for models with a linear cost function and constraint matrices which are largely network matrices (see e.g. KENNINGTON and HELGASON [ 5 ] ) . The algorithm can be seen as a convex programming algorithm for networks (see e.g. ROCKAFELLAR [S]).

For the system of constraints Ax = b ( with A = [ 2:; L2]), the vector XB denotes the vector of basic vari-

ables corresponding to the basis matrix B, whereas XN is the vector of nonbasic variables corresponding to the subma- trix N , consisting of columns of A that are not in B. If z, Er X B , we will write ZB% (z = 1, . . . , m + n). Similar notations are used for the other variables. We will also use B to denote the (ordered) set of basic indices, and N the set of nonbasic indices.

Up to an additive constant, a (convex, continuous) piecewise linear function can be characterized by its break points, denoted by y', y3, . . . , y 2 T - 1 and its slopes c2, c4, . . . , c ~ ~ - ~ . Slopes and break points can be ordered in the vector { y ; c } = ( y ' , c2, y 3 , . . . , c2T-2 , yZTp1). Any piecewise linear function can be expanded to a function on IR by using a Big-M method: Introduce the cost M (> Pr, for each 2) for all values less than y' and larger than y l T - l .

Whenever a variable with cost -M or M occurs in an optimal solution, the problem is infeasible. Let a E B. The notation c;;') is used to denote the deviation from the current value of the slope: If the current

slope is c& for some index t (in this case both t and r are even), then cLiT' = cb;'. Similar notations are used for the yt 's as well as for the indices z E N.

In e.g. FO~JRER 12) it has been shown that, in case of piecewise linear programming, the values of the nonbasic variables X N ~ are fixed at break point values; the basic variables are then uniquely determined and are not equal to a

Page 3: Transporting and Mixing Gasses with Different Qualities

KATE, H. TEN; HOEVEN, T. VAN DER; SIERKSMA, G.: Transporting and Mixing Gasses 101

break point value, unless there is degeneracy. So, apart from degeneracy, the slope is uniquely determined for all basic variables Z B ~ .

Our algorithm has the same general outline as the algorithm in FOURER [2]: A basic solution is optimal if there does not exist a direction in which it can be improved (for each nonbasic variable, two directions have to be checked). If the current basic solution is not optimal, a direction and a corresponding nonbasic variable, say with index j * , are chosen such that the current solution can be improved. The largest possible change is computed for the chosen direction. If this change is determined by a break point corresponding to j* , then a new test on optimality is performed, otherwise first a basis transformation is carried out. During this process, the computations are simplified by using the network structure. To that end, the following well-known t h e o r e m s from network optimization are used.

A basis matrix f o r a network matrix corresponds to a rooted spanning forest (consisting of one or more rooted spanning trees).

By performing a suitable permutat ion o n the rows and the columns, the ma t r i x corresponding to a rooted span- ning forest will become upper-triangular.

For networks with side constraints, any basis matrix B consists of k + p columns from A . The matrix B can be

partitioned as B = , with B11 a [k, k ] upper-triangular matrix corresponding to a rooted spanning forest.

In e.g. KENNINCTON and HELGA~ON [5] it has been shown that the matrix operations on B can be simplified by using this spanning forest representation.

For any nonbasic variable with index j , we use the representation vector Y B , representing the coefficients of column a,* of A in terms of the basic variables. The complete description of the algorithm is as follows.

*

Step 0.

Step 1.

Step 2.

Step 3.

A l g o r i t h m PLNS-simplex Input:

Output: An optimal solution, if exists; otherwise, the message “infeasible” is given.

A “from-to” description of the network. The matrix of side constraints [Azl, Azz]. The cost functions de- scribed by their break points and slopes.

Use the Big-A4 method to extend all cost functions on IR. Determine the basis matrix B = [ :ii with

BII being the ( k , k ) upper-triangular matrix corresponding to some spanning forest, and [Bzl Bzz] the

( p , k + p ) matrix of the coefficients of the side-constraints. Transform [i:: to [’tl B;2] (=: B) ,

and change the right-hand sides accordingly. Choose break point values for all nonbasic variables, and deter- mine the corresponding basic solution, using the spanning forest representation of the basis. Compute the vector I7 of multipliers from L’B = C B , by using the spanning forest representation (cf. KEN- NINGTON and HELGASON [5]). Test for optimality and select an entering variable. Compute d i = clvfl} - ZlaN,, and d ; = c k l } - ZTaN,. IF d i J index j E N with either d i j * < 0 or d;,* > 0. Compute the representation vector y~ from B ~ B = -a *, using the spanning forest representation.

0 and d;, 5 0 for each j E N , THEN stop (an optimal solution has been reached). ELSE select an

N,

R e m a r k : In the steps 4 through 6 the case d&,* > 0 is denoted between brackets. * * Step 4. Select a departing variable: d = d& [d = d;,*].

REPEAT select a departing variable, say with index i*, by computing

{-2 [‘o = xN,* - yNj*) ‘ {+a) 6” = YNj* - x ~ j *

Page 4: Transporting and Mixing Gasses with Different Qualities

102 ZAhfiil’ Z. angew. Math. Mech. 77 (1997) 2

IF gBi* < 0 , THEN d* := d* + yB2*(cB,* t -21 - c,*) [d* := d * + yBi*(cgi* (+21 - c,*)]

(+2} [cgi* := cBi* 1 . t-2’ c * := CDZ* Bi

UNTIL d* > O[d* < 01.

Step 5.

Step 6.

Update the basic solution: * := z * + 8 [z * := 5 * - 81. X B ~ := zgi + 8ygi [zgi := l c ~ i - 8yBi] for each Nj Nj N3 N3

i E B. Change the basis, taking into account the current (the last iteration of Step 4) value of the variable with index i*.

IF i* # 0 THEN, IF yBi* > 0 THEN yBi* := ykii’ [y,* := yBi* {+I} ]

c * := c g [c * := C N j * {-I} 1 . {-I} [yBi* := yB,* ] IF yBi* < 0 THEN yBi* := yg:’

N j Nj

Replace nBi* by a * in B. If necessary, rearrange the new basis such that the submatrix Bll will become

upper-triangular again, and transform matrix B = [ B1l B12] to

Repeat steps 1 to 6 until the algorithm stops in Step 2.

N j

B;2] (:= B). B21 B22

3. An example

The following example may illustrate the working of the algorithm presented in Section 2. Although this example is fictitious, there is an obvious similarity with the situation of Figure 1. Consider the network of Figure 2. Two side constraints, arising from mixing stations at nodes 2 and 7, are imposed:

0.0323 - 0.00726 - 0 . 1 ~ ~ + 0 . 0 2 ~ 9 + 1.0211 = 0 ,

0 .009~3 - 0.00226 - 0.0427 - 0.0328 + 0.007~9 + 0.07210 = 0 . (1)

(2)

S‘The numbers indicate the labels of the 4 pipelines and the labels of the nodes.

3 S

2

3 Pipelines 1, 2 and 3, marked with the symbol S , are supply pipelines.

D1 and D 2 are fixed demands:

Demand Node Quantity 4

6 i D1 6 45 tD2 D 2 7 20 Fig. 2. Example network

The network has ten flow variables (i.e. TI = lo ) , one side variable (i.e. m = l), namely 211, seven nodes (i.e. k = 7), and two side constraints (i.e. p = 2 ) . In Table I, the values of the priorities Pr,, the most desired quantities MDQ,, and the lower and upper bounds 1, and u, for all variables are given. Since nonsupply variables have priority 0, we do not need to know their most desired quantities. The minimum cost flow can be found by solving the following model:

3

7 - 1 Min. C Pr, jMDQ, - 5‘1

s.t. - 21 + 2 9 = 0 ,

x4 - Xg - 2 g = 0 ,

- 2 2 - 5 6 + 2 8 = 0 ,

- 2 5 + 2 6 + 2 7 = 0 ,

- x 3 + 2 5 = 0 ,

- 2 4 + z10 = -45,

- 2 7 - 510 = -20,

0.0323 - 0.00726 - 0.128 f 0.0229 + 1.0211 = 0 ,

0.00923 - 0 . 0 0 2 ~ - 0.0427 - 0.0328 + 0.007r~g + 0.07210 = 0 ,

l , < x , < u , for z = 1 , . . . , 11.

Page 5: Transporting and Mixing Gasses with Different Qualities

KATE, H. TEN; HOEVEN, T. VAN DER; SIERKSNA, G.: Transporting and Mixing Gasses 103

T a b 1 e 1. Priorities, most desired quantities, lower and upper bounds

Pr, MDQz 2, Ua

21 1 0 0 50 5 2 80 63 9 63 x3 20 7 2 13.5 x4 - 510 0 0 100 211 0 0 2

Tab 1 e 2 . Cost functions

slope break- slope break- slope break- slope point point point

21 -1000 0 1 50 1000 2 2 -1000 9 -80 63 1000 2 3 -1000 2 -20 7 200 13.5 1000 x4 - 2 1 0 -1000 0 0 100 1000 211 -1000 0 0 2 1000

Consider, for example, the cost function:

f3(z3) = Pr3 IMDQSI with 2 5 2 3 5 13.5.

After using the Big-M method, with M = 1000, the expanded function f3(23) can be described by its slopes ck and break points y ; : ($, y i , ci, y:, c:, y ! , c!) = (-1000, 2, -20, 7, 20, 13.5, 1000). The sequence of all cost functions is given in Table 2.

Let B be the basis matrix such that zg = ( 2 1 , 2 2 , 2 4 , 25, 2 6 , 2 7 , 2 9 , 210 , 211). Note that B has rank 9. After rearranging the rows r, and the columns aj, B can be written in the following way:

-1 +1 -1 +I

-1 +1 -1 -1

+1 -1 $1 +1

-1

0 0.02 0 0 0 0 -0.007 0 0.007 0 0.07 -0.04 0 -0.002

-1

1.0 0.00 0 0.00

Note that B11 (consisting of the first seven rows and columns), is an upper triangular network matrix with a rooted spanning forest representation: see Figure 3.

In order to determine a basic solution, we fix the nonbasic variables; say 2 3 = 7 and 2 8 = 0. The corresponding values of the basic variables can be computed by using the rooted spanning forest representation. Namely, start by determining zl1 and x 2 from the side constraints (by adding well-chosen multiples of the network constraints). Then determine the values of the remaining variables from the “backwards” spanning forest order: 2 6 , 2 5 , 2 7 , $10, 2 4 , 2 9 , 2 1 .

An overview of the variable values and the corresponding slopes is given in Table 3. While determining the starting values, the matrix [Bzl Bzz] for the side constraints is transformed to a [0 i I ]

matrix (0 is an all-zero matrix, and 1 an identity matrix). Rows 7-8 and rg of matrix N (consisting of the columns a3

and u8) are then transformed to [0.022 -0.6781, respectively. We will present the “iterative part” of the algorithm.

-0.1161, and [0.939

1 0 Fig. 3. Spanning forest representation

Page 6: Transporting and Mixing Gasses with Different Qualities

104 ZAMM Z. angew. Math. Mech. 77 (1997) 2

T a b l e 3. Variable and slope values

value slope I value slope

5 1 48.443 5 2 9.556 X3 7.000 x4 48.443 5 5 7.000 J%

-9.556 -

1 -80

0 0

-1000

2 7 16.556 0 XR 0.000 5 9 48.443 0 210 3.443 0 511 -1.245 -1000

Step 1. The multipliers, determined in the order It',, It',, ZZ,, n 7 , ZZ4, ITS, ZI3, It's, It's, are:

n,= 1 , n4=1, n7=1, n2 = 1 , n, = 1 , ns = -1000,

=z 1001, = 1, 179 = -921.

Step 2. Determine for all nonbasic variables the values of dAJ and d i J from d&J = cG1} - 17aNJ, and ~ N J :

d l = 20 - 841.85 = -821.85,

d: = 0 - 492.57 = -492.57,

d- - c{-ll -n NJ - hi3

dy = -20 - 841.85 = -861.85,

d i = -1000 - 492.57 = -1492.57.

Since the objective function is to be minimized, the values of d: and dg' need to be nonnegative, whereas d; and d, need to be nonpositive. Moreover, since d: and d; are free variables, we can decrease the value of the objective function by increasing the values of 2 3 or 2 8 . Increasing 2 3 leads to a marginal decrease of 821.85, whereas increasing z g leads to a marginal decrease of 492.57. Therefore we keep 2 8 fixed at 0, and increase 2 3 to a value larger than 7.

Step 3. The representation vector can be determined from the spanning forest representation of the basis in the order (y2, y11, 3 5 , y5, y7, y10,$'4, yg, yl) , which is the same order in which the values of the variables were computed. The result is:

~1 = -0.061, 9 5 1.000, yg = -0.061, yz = -0.939 , ~JF, = 0.939, ylo = -0.061 , y4 = -0.061, y7 = 0.061 , 911 = -0.022.

Step 4 . Now compute the largest possible increase of 2 3 . For example, the variable 2 1 has the current value 48.433 and will decrease when the value of 2 3 increases (y1 is negative). The first lower break point to be reached by 5 1 is 0. The possible decrease 48.433 of q allows for a possible increase of -48.433/y1 = 795.857 of 23. The results for all basic variables are given in Table4. An increase 0.593 of 2 3 leads to an increase 0.557 of 2 2 .

Variable 2 2 thereby reaches a break point. Increasing 2 3 more than 0.593 leads to a cost change of 2 2 from -80 to -1000, thereby changing the marginal costs of the objective function to d i = 192.270. Hence, increas- ing 2 3 more than 0.593 leads to positive marginal costs for the objective function.

T a b 1 e 4. Possible increase of 5 3 ~~~ ~

X U increase/ increase 2 3 increase/ increase z 3

decrease zg I xB decrease 28

5 1 -48.433 795.857 5 9 -48.433 795.857 54 -48.433 795.857 510 - 3.433 56.571 5 7 83.433 1370.857

5 5 93.000 93.000 5 6 9.557 10.176 511 -02 t c o x2 0.557 0.593

( 2 3 ) 6.500

Step 5. For all basic variables, we update its values as follows: .gw = &d Bi + 0.593yi.

Variable 2 3 is updated by: 2 1 e W ~ zold + 0.593.

The resulting values are given in Table 5.

Page 7: Transporting and Mixing Gasses with Different Qualities

KATE, H. TEN: HOEVEN, T. VAN DER: SIERKSMA. G.: Transportina and Mixing Gasses 105

T a b 1 e 5. Updated variable values

value slope I value slope

x1 48.407 2 2 9.000 x3 7.593 x4 48.407 x.5 7.593 x6 -9.000 -

1

20 0 0

- 1000

2 7 16.593 X8 0.000 X9 48.407 XI0 3.407 211 -1.259 -

0

0 0

-1000

Step 6. An exchange is made in the basis: 23 will become basic variable, and 5 2 will become nonbasic variable. This transformation does not change the spanning forest representation of the basis. After transforming the matrix [Bzl I ] matrix, the rows rs and r9 of the matrix N (with columns a2 and as) become [-0.024 - 0.0991, and [1.065 - 0.7221, respectively.

B22] to a [0

This is the end of the first iteration of the algorithm. Now the second iteration starts with Step 1. Continuing in the same way, it appears that the algorithm stops in the 4th iteration, with the spanning forest representation of Figure4, and corresponding variable values of Table6. It can be verified easily that this solution is an optimal basic feasible solution. v 1 0

T a b 1 e 6. Optimal variable values

Fig. 4. Optimal spanning forest representation

value slope

21 39.985 1 2 2 11.924 -80 x3 13.091 -20 x4 51.909 0 x.5 13.091 0 x6 0.000

value slope

x7 13.091 0 11.924 0

x9 39.985 0 XI0 6.091 0 211 0.000

4. The advantages of the new technique

The linear programming problem, described in Section 1, has two main characteristics. First, the objective function is a piecewise linear function. Secondly, the constraint matrix is almost a network matrix. Both characteristics are inte- grated in such a way that the resulting algorithm (see Section 3) is much faster than algorithms where both character- istics are used separately. We will shortly review the techniques where the characteristics are separately used.

In FOURER [a] a Simplex Method for piecewise linear objective functions is formulated; the method uses, in gen- eral, less pivot operations than the usual Simplex Method. In DE WOLF, JANSSENS DE BISTHOVEN and SMEERS [9], a Simplex-like Algorithm is formulated for problems with piecewise linear objective functions that are rewritten to prob- lems with piecewise linear constraints. This approach is more general than the one in FOURER [2]. In DE WOLF, JANSSENS DE BISTHOVEN and SMEERS [lo], the method is applied to a gas transportation problem.

A lot of techniques have been developed that adapt the Simplex Method for the case of Network Matrices. Examples of Network Simplex Methods can be found in e.g. KENNINGTON and HELGASON [ 5 ] , GLOVER and KLINGMAN [3], and BAZARAA, JARVIS, and SHERALI [l].

Our algorithm, formulated in Section 2, integrates both techniques. The result is a Simplex-like Algorithm that speeds up the calculations with about a factor 50. It is now possible to use the model during daytime, and this was precisely the goal of the investigations.

This paper is based on the M.Sc. thesis of H. TEN KATE. He and G. SIERKSMA are members of the Quantitative Logistic Research Group (QLORG) of the University of Groningen.

Page 8: Transporting and Mixing Gasses with Different Qualities

106 ZAMM . Z. angew. Math. Mech. 77 (1997) 2

References

1 BAZARAA, M. S.; JARVIS, J . J.; SHERALI, H. D.: Linear programming and network flows. John Wiley & Sons, 1990. 2 FOURER, R.: A simplex algorithm for piecewise linear programming. 1: Derivation and proof. Math. Programming 33 (1985),

3 GLOVER, F.; KLINGMAN, D.: The simplex SON algorithm for LP/embedded network problems. Math. Progr. Study 15 (1981),

4 HDEVEN, T. VAN DER: Supply demand balancing on daily basis over a year. American Gas Association, Operating Section Proc.

5 KENNINGTON, J. F.; HELGASON, R. V.: Algorithms for network programming. John Wiley-Interscience & Sons, 1980. 6 ROCKAFELLAR, R. T.: Network flows and monotropic optimization. John Wiley & Sons, 1984. 7 SIERKSMA, G.: Linear and integer programming; theory and practice. Marcel Dekker, Inc., 1996. 8 WILLIAMS, H. P.: Model building in mathematical programming. 2”d ed., John Wiley & Sons, 1985. 9 WOLF, D. DE; JANSSENS DE BISTHOVEN, 0.; SMEERS, Y.: The simplex algorithm extended to piecewice linearly constraint problems.

10 WOLF, D. DE; JANSSENS DE BISTHOVEN, 0.; SMEERS, Y.: The simplex method extended to piecewise linearly constraint problems.

204-233.

148 - 176.

1990, p. 474-475.

I: The method and implementation. Core Discussion Paper No. 9119, Louvain la Neuve 1991, pp. 1-30.

11: An applicat,ion to the gas transmission problem. Core Discussion Paper No. 9103, Louvain la Neiive 1991, pp. 1-31.

Received February 21, 1995, accepted June 2, 1995

Addresses : GERARD SIERKSMA, HANS TEN KATE, University of Groningen, Fac. der Econom. Wetenschappen, Dept. of Econometrics, P.O. Box 800, NL-9700 AV Groningen, (correspondence address) The Netherlands, e-mail: G. SIERKSMA @ECO.RUG.NL; Toki VAN DER HOEVEN, N.V. Nederlandse Gasunie, Groningen, The Netherlands