Other characteristics and advantages of the invention will emerge from the following description of particular embodiments, given by way of examples, with reference to the appended drawings, in which:
The present invention applies in a general manner to all gas transport networks, in particular those for natural gas, even if these networks are very extensive, on the scale of a country or a region. Such networks may comprise several thousand pipelines, several hundred regulating valves, several tens of compression stations, several hundred resources (points where gas enters the network) and several thousand consumptions (points where gas leaves the network).
The method according to the invention is aimed at automatically determining all the degrees of freedom of a network in the steady state, in an optimal manner.
The values are optimal in the sense that the constraints are not violated and an economic criterion is minimized or, if this is not possible, the constraints are minimally violated.
The degrees of freedom are the pressures, flow rates, compressor startups, open/closed, in-line/bypass states and the forward or reverse orientations of the active works.
For a real network, there exist several hundred integer-value variables (for example 1 for open and 0 for closed) in addition to the several thousand continuous variables (pressures and flow rates).
The method according to the invention makes it possible to run the calculation in series, that is to say without human intervention. This autonomous nature of the calculation is of major interest in a context of networks that may give rise to a multiplicity of routing scenarios.
The module 5 constitutes a modeller which is an assembly allowing the modelling of the network. This is understood to mean its physical description via its works and its structure (connected subnetworks, pressure blocks, etc.). This modeller preferably also includes means for simulating (or balancing) the network in terms of flow rates and pressures.
The module 8 constitutes for its part a computational core permitting network optimization.
The optimization module 8 essentially comprises a solver 6 whose functions (in particular implementation of the separation of variables and evaluation technique) will be explained later and a convex nonlinear solver 7 which can act as a supplement to the solver 6.
The part of the transport network also comprises gas feed points for providing the network with gas from local resources R which may for example be gas reserves stored in underground cavities.
The capacity of the network stretch depends both on the level of the consumptions C and the movements in feed based on the resources R.
In a gas transport network, the gas pressure decreases progressively during transmit. In order for the gas to be routed while complying with the allowable pressure constraint in respect of the consumer, the pressure level must be raised regularly with the aid of compression stations distributed over the network.
Each compression station comprises at least one compressor and generally includes from 2 to 12 compressors, the total power of the installed machines possibly being between around 1 MW and 50 MW.
The delivery pressure of the compressors must not exceed the maximum service pressure (MSP) of the pipeline.
According to a typical exemplary embodiment, there may be a pressure of 51 bar in the first pipeline 100, a pressure of 59 bar in the second pipeline upstream of the regulating valve 30, a pressure of 51 bar in the second pipeline downstream of the regulating valve 30 and a pressure of 67 bar in the third pipeline downstream of the compressors 40.
The present invention is aimed at automatically optimizing the movements of gas over complex networks, the method offering both high robustness and high accuracy.
In the subsequent description, it will be considered that the expression “active work” encompasses the regulating valves and the compression stations as well as the isolating valves, the resources and the storage facilities.
The expression “passive work” covers the pipelines and the resistances.
The aim of the method according to the invention is to search for the appropriate settings for the active works and to establish a map of network flow rates and pressures so as to optimize an economic criterion.
The economic criterion is composed of three different terms:
In the mathematical optimization problem, this criterion is called the objective function. In this function, each term is weighted by a coefficient (α, β and γ) which gives it greater or lesser importance:
g=α×Regime+β×Energy+γ×target
The degrees of freedom are:
The degrees of freedom are:
The aim is to find the values of the variables which minimize the economic criterion. The search for the values of the variables is subject to constraints of various types:
Mathematically, these constraints are of two types: linear or nonlinear.
To model a gas transport network in its entirety, it may be considered that to each state of an active work there corresponds a binary variable e (which takes the value 1 when the state is active or 0 in the converse case, for example 1 for open and 0 for closed). It is thus possible to model the choice between each of the states solely with linear constraints. The principle is illustrated below in the case of a compression station.
Example for a compression station:
Let x=(Q,Pupstream,Pdownstream) be the trio of the continuous variables for the flow rates Q and pressures Pupstream and Pdownstream of the compression station.
Let ef, eb, ed, ei be the 4 binary variables associated with the 4 alternative states—closed, bypassed, forward and reverse—that cannot occur simultaneously. Let Cf(x), Cb(x), Cd(x), Ci(x), be the 4 constraints for these 4 disjunctive states. For example, for the forward state, Cd(x) is the vector of constraints on minimum and maximum flow rates, minimum and maximum compression ratios and minimum and maximum powers.
Let Cf max, Cb max, Cd max, Ci max be an estimate of the maximum values of these constraints, regardless of x. In the example of the forward state, Cd max is the vector of minimum and maximum flow rates, minimum and maximum compression ratios and minimum and maximum powers.
The linear constraints may therefore be written in the form:
Starting from this principle, it is also possible to perform a modelling, keeping only the three variables eb, ed, ei, thus reducing the combinatorics.
These variables will be integrated into the constraints in the following manner:
Thus the problem of the optimal configuration of the active works is modelled in the form of an optimization program that is mixed (associating continuous variables and binary variables) and nonlinear (since part of the constraints Cf(x), Cb(c), Cd(x), Ci(x) is nonlinear)
The general program may therefore be written in the following form:
with:—
The method according to the invention is aimed at providing a response regardless of the state of saturation of the network. That is to say, the method is required to permit, if it cannot do anything else, certain constraints to be violated in order to yield a result, even in the case of saturation. The permission to violate the constraints is tempered since it will be sought to minimize it and since it will lead to a saturation message anyway. Taking this requirement into account, the problem is written slightly differently by introducing the variables s which, if they are nonzero, represent the violation of the constraints.
with:
Note that, with fixed binary variables, the program P1, which is not strictly equivalent to P0, has a solution close to P0 if the coefficient α is chosen sufficiently large since the deviation variables sI and sE are then sought very close to 0 indeed.
This is a sizeable combinatorial problem since it includes several hundred integer variables in addition to several thousand continuous variables.
This mixing of the type of variables necessitates combinatorial and continuous optimization. This is why several mathematical procedures that are able to accommodate both these types of optimization are preferably combined in a hybrid manner in order to ultimately obtain an exact solution.
The method according to the invention first implements a separation of variables and evaluation technique, termed “Branch & Bound” (hereinafter denoted B&B). This technique covers a class of optimization procedures that are capable of dealing with problems involving discrete variables. The discrete nature of a variable is unlike the continuous nature:
The B&B procedure is a tree-like procedure and consists in reducing the domain of variation of the variables as the tree is constructed. This procedure is commonly used to obtain the global minimum of an optimization problem involving binary variables.
In order to use the B&B procedure to solve a mixed problem, i.e. a problem dealing with both discrete and continuous variables, several variants may be envisaged:
Setting up a B&B separation of variables and evaluation procedure therefore requires a choice of strategies relating to:
depending on the date of arrival of the nodes in the stack, their positioning or the value of a merit function calculated with each candidate node,
For the problem of the optimal configuration of the active works, the B&B procedures consist in progressively fixing the state of the active works, and evaluating at each step, among these partial combinations, those which might lead to the most favourable global combination.
An example will be described with reference to
Consider a gas network in which there are several compression stations. It is sought, for example, to minimize the fuel gas in the network. If compression station No. 1 is chosen at the start of the B&B tree and if the binary variable associated with its state is tested (ed1=1).
fmini is the minimum bound of the objective function calculated at node i, knowing the set of decisions that have already been taken.
fmaxi is the maximum bound of the objective function associated with the best combination of states known when exploring node i.
If fmin1>fmax1 (with fmax1=fmax0) then it is certain that station 1 oriented in the reverse direction (ed1=0) cannot lead to the optimum solution.
On the other hand, if fmin1≦fmax1 the exploration continues while fixing another binary variable. All the binary variables are thus fixed progressively. If no cut is made in a branch, a realizable configuration is obtained, that is to say the whole set of binary variables has been fixed and the whole set of constraints is complied with.
Various techniques may be associated with the separation of variables and evaluation technique.
In particular, it is possible to use constraint propagation which makes it possible to exploit the information from the equation or from the inequality to decrease the intervals of the variables of this equation.
Only the nonlinear equation C(x) is considered and, generally, we seek to solve:
C(x)ε[a,b]⊂IR where xεX⊂IRn
with:
The constraint propagation may be based on constructing a computation tree which represents C(x). Initially, the value of the intermediate nodes and of the root node corresponding to the value of the constraint is calculated on the basis of the leaves of the tree, which are the variables and the constants (this being equivalent to applying the rules of interval arithmetic), and then the value of the interval of the constraint is propagated from the root of the tree to the leaves so as to reduce the definition spaces of the variables.
The algorithm for propagating a constraint over its variables is as follows:
The first step of the algorithm is presented in the left-hand part of
The second step of the algorithm is explained by the right-hand part of
The algorithm for propagation over the whole set of constraints of a problem is performed as follows:
1. Initialization of the Queue of Constraints to be Propagated
To do this, all the constraints are inserted, without duplication, into a queue sorted according to a merit criterion M.
2. Loop Over the Queue of Constraints
According to an exemplary embodiment, only the “age” of the constraint is involved in the merit criterion M, i.e. the queue is equivalent to a FIFO stack. However, a more complex criterion can be used. For example, a variable that is greatly reduced by the propagation of a constraint could lead to the constraints involving it being inserted into the queue with a high merit.
It will be noted that a constraint is said to be resolved when it is already satisfied regardless of the values that the variables take in their intervals (stated otherwise, if the interval resulting from the propagation over the constraint contains only acceptable values.
For a constraint C of an inclusion function C(X)=|C(X),
When a constraint is resolved, its propagation will no longer lead to any reduction in the intervals of its variables.
The constraint propagation technique may be used for example to determine the orientation of the active works of gas transport networks. The active works may simply be considered to be oriented in the forward direction when the flow rate is positive and in the reverse direction when the flow rate is negative. It is also possible to perform a complete modelling of the configuration of the active works by involving 3 or 4 binary variables, as indicated above. The implementation of the constraint propagation technique may be performed with the aid of an interval arithmetic and constraint propagation library capable of dealing with discrete variables.
The constraint propagation procedures may on the one hand serve to reduce the combinatorics within reduced times, during a first step that may precede an exact or approximate optimization process, and on the other hand be integrated with the B&B procedures to allow better computation of the bounds of the objective function and possibly additional cuts at each node.
In particular, in the latter case where the constraint propagation is performed within a node of the search tree and is used to prune the nodes that can be declared infeasible, and to decrease the diameter of the intervals of the variables, then the constraints involving the variable or variables whose separation has led to the creation of the node undergoing evaluation are considered in the initial queue of constraints to be propagated. If this node is the root of the tree, then all the constraints are placed in the queue.
By way of exemplary implementation of a constraint propagation technique, reference will be made to
The network defines five pressure variables at the nodes N0 to N4 and seven flow rate variables in the arcs I to VII.
The resource A has a setpoint pressure of 40 bar. This is why its initialization interval is a zero-width interval.
The consumption node N4 has a minimum delivery pressure of 42 bar, hence initialization in the interval [40, 60].
The resource R and the consumption C corresponding to the arcs I and VII have prescribed flow rates of 800 000 m3/h. Their intervals are therefore initialized to zero-width intervals.
The arcs III and V containing the compressors CP1 and CP2 respectively exhibit smaller flow rate intervals than the arcs II, IV and VI corresponding to simple pipelines.
Several tests are performed:
The results of these tests A1 to A4, B1, B2 and C are presented in the table of
In the three cases where propagation is not halted (tests A1, B1 and C), the identical results presented in the tables of
In these examples it may be seen that the information contained in the constraints is used to reduce the intervals of the variables and also makes it possible to fix the value of certain discrete variables (here the orientation of each compressor). In particular, it may be seen that if the orientation of one or both compressors is left free, by applying the constraint propagation procedure alone, it may be concluded that the free compressor must be oriented in the forward direction.
The constraint propagation procedure as well as the separation of variables and evaluation procedure (B&B) call upon interval-based computation the main characteristics of which will be recalled below.
In interval arithmetic, one manipulates intervals containing a value, rather than numbers which more or less faithfully approximate this value. For example, a measurement error can be allowed for by replacing a value measured x with an uncertainty ε by an interval [x−ε,x+ε]. It is also possible to replace a value by its validity range such as a pressure P of a resource represented by an interval [4, 68] bar. Finally, if one wishes to obtain a valid result for an entire set of values, one uses an interval containing these values. Specifically, the objective of interval arithmetic is to provide results which definitely contain the value or the set sought. One then speaks of guaranteed, validated or even certified results.
As has been implicitly accepted up to now, the intervals that do not contain any “hole”, are closed connected subsets of R. The set of intervals will be denoted IR. They can be generalized in several dimensions: an interval vector xεIRn is a vector whose n components are intervals and an interval matrix AεIRn is a matrix whose components are intervals. A graphical representation of an interval vector of IR, IR2 and IR3 corresponds respectively to a straight segment, a rectangle and a parallelepiped. An interval vector is therefore a hyper-parallelepiped. Hereinafter, the terms interval vector, tile, box or even interval will be used interchangeably.
The interval objects are denoted by bold characters: x. We denote by x the minimum of x and
X≦Yxi≦yi for i=1 . . . n.
We denote by w(x) the width of x (with w for width) or else its diameter:
w(x)=
The centre mid(x) and its radius rad(x) are defined by:
A function F:IRn→IR is an inclusion function of f over XεIRn. If XεX then f(X)εF(X).
The adjective “pointlike” designates a standard numerical object (that is to say a real number, or a vector, a matrix of real numbers) and it is the same as the zero-diameter interval.
The result of an operation ⋄ between two intervals x and y is the smallest interval (in the inclusion sense) containing all the results of the operation applied between all the elements x of x and all the elements y of y, that is to say containing the set:
{x⋄y;xεx,yεy}
Likewise, the result of a function F(z) is the smallest interval containing the set:
{f(z);zεz}
If we consider the traditional operators +, −, x, 2, / or √, it is possible to define the following formulae that are more practical to use than the theoretical definition above:
The traditional algebraic properties (that is to say for pointlike arithmetic) such as reciprocity between addition and subtraction or distributivity of multiplication with respect to addition are no longer satisfied:
x−x={x−y|xεx,yεx}⊃{x−x|xεx}={0}
x/x⊃{1}
x×x=[−6,9]
x
2=[0,9]
x×(y+z)=[−10,15]
x×y+x×z=[14,16]
x×(y+z)⊂x×y+x×z
It is thus possible to define elementary functions such as the sine, the exponential, etc. that take intervals as argument. To do this, the abstract definition above is used.
If one is interested in a monotonic function, the formulae for calculating it are readily deduced.
On the other hand, we only know how to define the elementary functions over intervals contained in their domain of definition: for example, the logarithm will be defined only for strictly positive intervals.
Interval arithmetic makes it possible to calculate with sets and to obtain general and valuable information for the global optimization of a function.
To prevent the results being overestimated, it is preferable to use for the function to be taken into account an expression in which each variable appears only once.
Various separation of variables and evaluation procedures (B&B) using interval arithmetic will be described below.
A B&B procedure can be characterized as 5 steps:
Various solutions may be chosen for these 5 steps in order to improve the quality of the method.
Consider the optimization problem minXeXf(X). The vector of intervals of dimension n, XεIRn, is the search zone. The function f: Rn→R is the objective function.
We denote by f* the global minimum of the problem, X* an optimal point such that f(X*)=f*, and the set of these points X*:
f*=minXεXf(X) and X*={XεX|f(X)=f*}
The interval objects are denoted by bold characters: x. We denote by x the minimum of x and
X≦Yxi≦yi for i=1 . . . n.
We denote by w(x) the width of x (with w for width) or else its diameter:
w(x)=
The centre mid(x) and its radius rad(x) are defined by:
A function F:IRn→IR is an inclusion function of f over XεIRn. If XεX then f(X)εF(X).
Here are various rules for selecting the node to be examined from the list of waiting nodes. Of course, these strategies may be combined: for example the “Best first” strategy is often combined with the “Oldest first” strategy as second criterion if there are equal rankings.
1. Oldest First
2. Depth First
3. Best First [Moore-Skelboe Rule]
4. Reject Index
a. Optimum Known
For each node corresponding to the interval vector X, let us define the parameter:
We note that if w(F(X)) is zero, then there is no need to evaluate pf* since the node will not be cut.
The node selected is then the one corresponding to the largest value of pf*. However, the calculation of this parameter requires that the optimum be known in advance, and this is not always the case. This is why variants of the “reject index” based on estimates of the optimum have been developed.
b. Optimum Estimated
The variant of the parameter pf* when the optimum is not known in advance may be written:
where k is the index of the relevant iteration. The index k corresponds globally to the number of nodes examined and fk is an approximation of f* at iteration k.
We note that the “best first” rule is therefore only ever a particular case of pf for which fk=fk. Specifically, if Y0 is the interval of the node exhibiting the smallest lower bound of F (“best node”), then we have pf(Y0)=0 and pf negative for all the other nodes.
Other possibilities for fk may be:
or else
fk=Fk
c. With Constraints
For a constrained problem of the form:
The “reject index” strategies defined above take no account whatsoever of the constraints and are at risk of selecting nodes which exhibit good values of pf but lead to infeasible nodes.
Certain authors therefore propose that a feasibility index be constructed in the following manner.
For a constraint Ci and for a node corresponding to a domain of variation X, we define:
In the case where w(Ci(X))=0 the feasibility of constraint i may be decided directly, and puCi(X) may be fixed at 1 if X satisfies Ci, −1 otherwise. Note that if puCi(X)<0, then X certainly does not satisfy Ci since Ci(X)>0. Conversely, if puCi(X)=1 then ci(x)≦0 and hence X certainly satisfies Ci. In all other cases, the state of violation of Ci is undetermined.
For the X which are not “certainly infeasible”, that is to say for which ∀i=1 . . . p, puCi(X)≧0, let us define a global feasibility index for the set of p constraints:
Thus constructed, this global index possesses 2 properties:
This then makes it possible to define a modified reject index that builds in the feasibility index:
pupf(fk,X)=pu(X)×pf(fk,X)
If pu(X)=1, i.e. if X is “certainly feasible”, then we are back to the simple “reject index”. On the other hand, if X is undetermined, this new index takes account of the degree of feasibility of X. This makes it possible to define a new node selection rule: the node with the largest value of pupf is selected.
A last criterion makes it possible to hybridize the pupf criterion with the classical “best first” criterion based on the value of F(X):
with M a very large value fixed beforehand.
Indeed if pupf(fk,X)=0 then either pf(fk,X)=0, which implies—in the case where fk=f—that there will certainly be no improvement in f; or pu(fk,X)=0, which implies that there exists at least one constraint such that ci(x)=0. Such values of X do not seem to be very promising. This is why we fix M at a very large value.
The evaluation step will now be considered.
This step deals with evaluating the bounds of the objective function, and also those of the constraints if there are any. For the B&B procedures using interval arithmetic, the inclusion functions are generally obtained by “natural” extension of the usual functions.
If f: x→x2−ex and x=[−5,2], then F: x→x2−ex is an inclusion function of f over x with:
For the elimination step, several procedures are possible.
1. Feasibility Test
If the problem is a problem subject to p inequality constraints Ci:
Let Ci be an inclusion function of the constraint Ci. With each examination of a node corresponding to the domain of variation of X, the p constraints Ci(X) are evaluated. If ∃iε{1,p}/[−∞,0]∩Ci(X)=Ø, then it is certain that the node may not contain any feasible solution. It can therefore be pruned.
2. Cutoff Test
This is the simplest and best known elimination criterion: it involves rejecting all the nodes for which f*≦f<F(X), where f is the current upper bound of the optimum.
3. Middle Point Test
Some publications make no distinction between the “cutoff test” and the “middle point test” (MPT). The MPT would in fact merely be an additional way of calculating an upper bound of f*. The “cutoff test” consists in initially taking
4. Monotonicity Test
For an unconstrained problem, if the objective function is strictly monotonic with respect to the component xi of an interval vector X, then the optimum may not be found inside xi. To determine whether f is strictly monotonic with respect to the components of X, we evaluate the n components of the inclusion function of the gradient of f over X. If for i, the resulting interval does not contain the value 0, then f is strictly monotonic with respect to xi.
In this case, the component xi can be reduced to a real: xi reduces to
For the separation step, several procedures are also conceivable:
1. Bisection on a Variable
In all of the following rules, the variable j which maximizes a merit function D is selected. Separation is therefore carried out on the variable j such that j=arg(maxi=1 . . . nD(i)).
a. Largest Diameter
Here the merit function is simply the diameter of the variable: D(i)=ω(xi). The difficulty in using this merit function is related to the need to get away from the scale factors. For example, if dealing with a network calculation problem, it will be necessary to properly scale the variables in order to be able to compare the diameters of the pressures with those of the binary variables.
To be able to get around this obstacle, a rule which is similar to the latter and which also does not involve any information about the derivatives may be defined:
with mig(X)=minxεXi|x|. It would be possible to use the magnitude: mag(X)=maxxεXi|x|.
This variant thus makes it possible to normalize the diameter of the intervals considered.
b. Hansen's Rule
Here,
D(i)=w(xi)×w(∇Fi(X))
where ∇Fi is the ith component of the inclusion function of the gradient of f. The idea is to separate in the variable which has the most impact on f.
c. Ratz's Rule
Here,
D(i)=w[(xi−mid(xi))×∇Fi(X)]
The underlying idea is to reduce the diameter of w(F(X)) which, after calculation, reduces to the sum over all the directions of the term D(i).
d. Ratz's Bis Law
The underlying idea is the same, but we go up to second order:
where Hik is the element with coordinates (i,k) of the matrix of second derivatives (Hessian) of f.
For procedures which calculate the gradient and the Hessian anyway, by automatic differentiation, this rule is not much more expensive than the others.
2. Multi-Section
a. Static Multi-Section
Up to here we have considered that starting from a node, 2 child nodes were created by bisecting the tile XεIRn in a single direction. However, it may be relevant to retain several separation directions. For example, the interval of variation of each variable can be cut into 2, 2n child nodes are then created. It is also possible to cut the interval for a direction into 3 parts, thus creating 3 child nodes, or else the intervals of 2 variables into 3, creating 32 children, etc.
b. Adaptive Multi-Section
We denote by (a) the rule of the largest diameter presented in 1.a, (b) the rule which separates the intervals of all the variables into 2, (c) the rule which separates the intervals of all the variables into 3.
A hybrid (adaptive) rule will use 3 parameters P1, P2 and pf to determine which rule to use.
The parameters p1 and p2 are two thresholds which will have to be adjusted. pf is the “reject index” defined above, and is a function of the relevant node.
The nodes which have a “reject index” pf<p1 will be separated according to rule (a), those such that p1<pf<p2 will be separated according to rule (b) and those such that pf>p2 will be separated according to rule (c).
Such a rule may in actual fact be defined on the basis of variants of pf, such as pupf defined above for example.
Various stopping criteria may be used.
1. Diameter of the Search Zone
A stopping criterion may be the examination of a node N such that w(X)≦ε where X is the interval of variations of the variables for N. Of course, this presupposes proper scaling of the variables.
2. Diameter of the Objective Function
A stopping criterion may be the examination of a node N such that w(F(X))≦ε where X is the interval of variations of the variables for N.
3. Maximum Execution Time
A supplementary stopping criterion may be a maximum execution time beyond which the algorithm is stopped, regardless of the results obtained. A stopping criterion of this type is necessary as a possible supplement to another so as to avoid excessively long explorations.
An exemplary flowchart illustrating the B&B procedure (separation of variables and evaluation) and constraint propagation procedure applied in a solver for an optimal and exact solution within the framework of the configuration of a gas transport network will now be described with reference to
To implement this technique, a library of intervals is set up to allow the management of the variables expressed in the form of numbers or intervals.
Moreover, automatic differentiation schemes based on calculation trees make it possible to calculate the values of the first and second derivatives from a mathematical expression.
Means are also implemented for calculating Taylor expansions to orders 1 and 2.
In the flowchart of
More particularly, step 201 corresponds to the choice of the best leaf of the tree to be explored. Step 202 consists of a separation into child nodes. Step 203 comprises a series of operations performed for each child node.
Thus, step 203 first goes to a step 204 for calculating the bounds, then a pruning test 205 is performed thereafter. If the response is yes, we return to step 203 to process another child node. If the response to the test 205 is no, we go to a propagation/retropropagation step 206 such as that proposed for example by F. Messine.
After step 206 a new pruning test 207 is performed. If the response is yes, we return to step 203, if on the other hand the response is no, we may go directly to another test 210, but according to a preferred embodiment, the Fritz-John optimality system is solved firstly in step 208, this being described in greater detail later. On exiting step 208, a new pruning test 209 makes it possible to return to step 203 if the responses is yes or to go to the test 210 if the response is no (absence of pruning).
The test 210 makes it possible to examine whether or not all the discrete variables are instantiated.
If all the discrete variables are not all instantiated, we go to a step 211 of possible updating of the best solution, then to a step 212 of calculating the merit of the node for insertion into the queue of leaves and we return to the calculation step 203 for another child node.
If the test 210 makes it possible to determine that all the discrete variables are instantiated, then we can go to a step 214 of possible updating of the best solution and we return to the calculation step 203 for another child node, without any merit calculation or subtree.
By way of a variant, if the test 210 makes it possible to determine that all the discrete variables are instantiated, then we can firstly go to a step 213 of implementing a nonlinear solver which makes it possible to perform a nonlinear optimization based for example on an interior points procedure.
After step 213 we go to step 214 described previously. The example of
We start from a sorted list of nodes to be explored (step 201). The sort is performed according to a merit calculated for each node. It is for example possible to perform an exploration according to the “best first” procedure mentioned earlier. In this case, a node is explored by priority when it exhibits the lowest min bound of the objective function.
A pruning test (steps 205, 207) is performed several times in the course of the method. If the node cannot improve the current solution, it will not be explored further.
The principle of the B&B method is to split a node into child nodes (step 202). By way of example, the following separation law is chosen: the interval of the variable of the current node which has the largest diameter (the largest difference between the upper bound and the lower bound of its interval) is separated into two intervals. These two new nodes are then placed in a list of child nodes of the current node. Next, for each child node (step 203), the objective function is evaluated, that is to say the bounds of the objective function are evaluated on the basis of the intervals of the variables of this node (step 204).
The resulting algorithm may for example be the following:
By way of variant, a node could be separated into more than two child nodes (multi-section, for example quadri-section).
Indicated below are a few supplements relating to step 208 of solving the Fritz-John optimality system which may afford a response to the problem of updating the max bound of the optimum while enabling a verdict to be reached regarding the feasibility of a node.
Let us consider the following optimization problem:
The most natural approach for solving this optimization problem is to consider the system of equations arising from the Karush-Kuhn-Tucker (KKT) optimality conditions. However, these optimality conditions have the drawback of producing a degenerate system of equations if certain constraints are linearly dependent in the solution. To obtain a more robust approach, the Fritz-John optimality conditions presented below are used.
The Fritz-John conditions state that there exist λ0, . . . , λp and μ1, . . . μq which satisfy the following optimality system:
Let us note that the multipliers μj may be positive or negative whereas the multipliers λi are exclusively positive.
A first difference between the KKT conditions and the Fritz-John conditions lies in the fact that the latter introduce the Lagrange multiplier λ0≠1.
A second difference still relating to the Lagrange multipliers is that, for the Fritz-John conditions, the multipliers λi and μj may be initialized, respectively, with the intervals [0,1] and [−1,1] whereas, for the KKT conditions, the multipliers λi and μj are initialized, respectively, with the intervals [0,+∞] and [−∞,+∞]
The Fritz-John optimality conditions do not include, at the outset, any normalization condition. In this case it may be noted that there are (n+p+q+1) variables and (n+p+q) equations, hence more variables than equations. Hence, the following normalization condition can be considered:
λ0+ . . . +λp+e1μ1+ . . . +eqμq=1 where ej=[1,1+ε0], j=1 . . . q (CN1)
where ε0 is the smallest number such that, depending on the machine precision, 1+ε0 is strictly greater than 1. or:
λ0+ . . . +λp+μ12+ . . . +μq2=1 (CN2)
In the case of an interval optimization problem:
This is an Interval Constraint Satisfaction Program (ICSP).
We then write:
R
1(Λ,M)=λ0+ . . . +λp+e1μ1+ . . . +eqμq−1
and R2(Λ,M)=λ0+ . . . +λp+μ12+ . . . +μq2−1
(CN1) may then be written:
R
1(Λ,M)=0
and (CN2):
R
2(Λ,M)=0
To solve the system of Fritz-John optimality conditions, we put:
t=(X,Λ,M)T
and:
We denote by t a box of dimension N, where N=n+p+q+1, containing t. Let J be the Jacobian of Φ. For i, j=1 . . . N:
The first j arguments of Jij(t,t′) are intervals, the subsequent ones are reals. By using the linear normalization (CN1), the Jacobian of Φ will involve the Lagrange multipliers only in the form of reals and not of intervals. Thus, to solve Φ(t)=0, there is zero need to initialize the interval for the multipliers.
Using (CN2) implies that the Lagrange multipliers appear in the Jacobian as intervals and increases the risks of obtaining a singular matrix. A Newton procedure may then either fail or be ineffective. In this case, it is necessary to envisage cutting the intervals. However, splitting the intervals of the multipliers involves, a priori, an enormous number of additional calculations.
Hence the recommendation to use (CN1) and the order of the variables of t as indicated above. All the more so as (CN1) exhibits a favourable linear character.
By using (CN1), certain Newton procedures do not require the initialization of an interval for the Lagrange multipliers. However, it may be beneficial to employ it in certain cases. In particular, there may be a need for an estimate of the values of the multipliers, this being the case in the network calculation problem. Such an estimate for a multiplier can be obtained by adopting the middle of its interval; an enclosure is therefore required. The following procedure can be used to determine it:
We put:
If we solve:
we obtain the desired enclosure for the Lagrange multipliers.
The use of the Fritz-John optimality conditions within the solver may be useful from two standpoints. The first is that they may further reduce the solution space by supplementing or replacing the propagation of constraints onwards of a certain level of the tree of the B&B procedure. The second stems from the fact that the solving of the Fritz-John optimality conditions is a Newton operator. It is then possible to apply the Moore-Nickel theorem which states that if a Newton operator makes it possible to reduce an interval of definition of one variable at least, then the current solution space necessarily contains an optimum. Thus, the solving of these optimality conditions may also be a criterion for updating the max bound of the optimum of the objective function.
The above linear system (SL) may be solved, for example, with the iterative Gauss-Seidel procedure (or constraint propagation procedure) or with the LU procedure.
In a linear system such as that posed by linearizing the optimality conditions of an optimization problem, of the form:
A.X+B=0 (SL)
A is an m×n matrix of reals or intervals, X is the vector of variables of dimension n, B is a vector of dimension m of reals or intervals.
The Gauss-Seidel procedure is an iterative procedure ensuing from an improvement to the Jacobi procedure.
An iterative procedure for solving a linear system such as (SL) consists in constructing a series of vectors Xk which converges to the solution X*. In practice, iterative procedures are rarely used to solve linear systems of small dimensions since, in this case, they are generally more expensive than direct procedures. However, these procedures turn out to be efficient (in cost terms) in cases where the linear system (SL) is of large dimension and contains a large number of zero coefficients. The matrix A is then said to be sparse; this is the case during a network calculation.
The iterative Jacobi procedure consists in solving the ith equation as a function of Xi to obtain:
We construct the term Xk from the components of Xk−1:
Now, when calculating Xk the components Xjk for j<i are known. The Gauss-Seidel procedure substitutes Xjk with Xjk−1 for j<i.
In the network calculation problem, the elements of A, X and B are intervals. The algorithm is therefore as follows:
The LU procedure decomposes the matrix A of the system (SL) according to the following product:
A=L.U
where L is a lower triangular matrix with unit diagonal:
and U is an upper triangular matrix:
The system therefore becomes:
L.U.X=B (SL′)
which can be decomposed into two systems:
The solving of (SL1) followed by (SL2) is greatly facilitated by the triangular form of L and U.
This network comprises a set of interconnection points (junctions or nodes) 1.1 to 1.13 which make it possible to link together passive pipelines 101 to 112 or stretches of pipeline comprising active works such as regulating valves 31, 32, a compression station 41, an isolating valve 51, consumptions 61 to 65 or resources 21, 22.
Bypass conduits 31A, 32A, 41A are associated with the regulating valves 31, 32 and with a compression station 41.
Number | Date | Country | Kind |
---|---|---|---|
0651635 | May 2006 | FR | national |