Linear Programs With an Additional Separable Concave Constraint

In this paper, we develop two algorithms for globally optimizing a special class of linear programs with an additional concave constraint. We assume that the concave constraint is defined by a separable concave function. Exploiting this special structure, we apply Falk-Soland’s branch-and-bound algorithm for concave minimization in both direct and indirect manners. In the direct application, we solve the problem alternating local search and branch-and-bound. In the indirect application, we carry out the bounding operation using a parametric right-hand-side simplex algorithm.


Introduction
In this paper, we consider a special class of linear programs with an additional concave constraint where c is an n-vector, F ⊂ IR n is a polytope and G ⊂ R n is an open convex set.We assume on (1.1) that G possesses a kind of separability, i.e., G can be represented as follows, by means of a sum of functions g j : S → IR, j = 1, . . ., n, each of which is concave with respect to x j : We call the complement of this set G a separable reverse convex set, following separable concave functions of the form g(x) = n j=1 g j (x j ).The separable concave function is certainly a special class of concave functions, but involves a wide variety of functions unlike its appearance.In fact, it is an elementary exercise in linear algebra that every concave quadratic function can be reduced to a separable form; and the linear multiplicative function n j=1 (c T j x+d j ) can be transformed into n j=1 log y j with y j = c T j x + d j for j = 1, . . ., n [11], [15].These imply that there is a certain amount of demand for the linear program with an additional separable concave constraint (LPASC), as well as for the separable concave minimization problem: minimize n j=1 g j (x j ) subject to x ∈ F. (1.2) The readers should remark that even this well-known global optimization problem belongs to LPASC, because (1.2) is equivalent to maximize −y subject to x ∈ F, n j=1 g j (x j ) − y ≤ 0.
The research on global optimization of the general linear program with an additional concave constraint (LPAC) can be traced back to 1950's, arising from a location problem by Baumol-Wolfe [1].The algorithms proposed since then can be classified roughly into four classes.The first class consists of algorithms based on the edge property of F \ G.As will be shown in Section 2, at least one optimal solution to LPAC lies on the intersection of the edges of F and the boundary of G. Exploiting this property, Hillestad [5] proposed a simplex-type pivoting algorithm for searching an optimal intersection point.Hillestad's algorithm has been modified and still developed by Hillestad-Jacobsen [7] and Thuong-Tuy [17].The second class is outer approximation algorithms, which involves e.g., Hillestad-Jacobsen [6] and Fülöp [4].Hillestad-Jacobsen [6] developed a procedure for cutting off a portion from F by a valid cut constructed at an infeasible vertex of F for the associated concave minimization.The convergence of their algorithm is not guaranteed; but Fülöp [4] improved this point later.The third class is conical branch-and-bound algorithms, which involves e.g., a bisection algorithm by Moshirvaziri-Amouzegar [12] and ω-subdivision algorithm by Muu [13].The last class is algorithms alternating local search and concave minimization.This class is based on the concept of duality between LPAC and its associated concave minimization problem, studied by Tuy [18] and Tuy-Thuong [20].As reported by Pferschy-Tuy [14], algorithms of this class are very efficient when the dual problem is easy to solve.
Since LPASC is a special class of LPAC, algorithms of the above classes are naturally applicable to each instance of LPASC.Unfortunately, however, none of them exploits the special structure of the separable reverse convex set, which must have potential for efficient solution by analogy with the separable concave minimization (1.2).We can only see in a comprehensive survey on d.c.optimization by Tuy [19] a basic subdivision process for minimizing a separable d.c.function over a rectangle.As is well known, the separability of the objective function of (1.2) is one of the most useful structures in designing efficient global optimization algorithms.Since the pioneer work on (1.2) by Falk-Soland [3], a number of efficient rectangular branch-and-bound algorithms have been developed: Soland [16], Horst-Thoai [9], Kuno [11], Ryoo-Sahinidis [15] to name but a few.The purpose of this paper is to develop practical algorithms by making full use of the separability of LPASC, together with the existing results on LPAC and (1.2).
In Section 2, after describing the problem formally, we give two optimality conditions, both of which play one of the leading parts in the proposed algorithms.Another leading part is played by Falk-Soland's rectangular branch-and-bound algorithm, which is also explained in detail.Sections 3 and 4 are devoted to the algorithms for LPASC.In Section 3, on the basis of the duality by Tuy [18] and Tuy-Thuong [20], we develop an algorithm alternating local search and rectangular branch-and-bound.In Section 4, we try solving LPASC using a new rectangular branch-and-bound algorithm.This algorithm has basically the same structure as Falk-Soland's one but contains some devices for improving the efficiency.Some concluding remarks are discussed in Section 5.

Basic Properties and Folk-Soland's Algorithm
The problem we consider in this paper is of the form where A ∈ IR m×n , b ∈ IR m , c ∈ IR n , and l, u ∈ IR m .For each j = 1, . . ., n, the function g j : S → IR is concave, and can be affine or constant.Let Since each component of l and u is finite, D represents an n-dimensional rectangle, which we assume to be included in the domain S n of function g.Using these notations, we can make it clear that the feasible set of (2.1) is a d.c.set of the form C ∩ D \ G, i.e., the difference of two convex sets C ∩ D and G.

Dual problem of LPASC
Let M denote the closure, and ∂M the boundary of a set M .We assume the following hereafter: These assumptions are not specific to our problem but often imposed on d.c.optimization problems.In fact, if (b) fails, then (2.1) is equivalent to an ordinary linear program maximize c T x subject to Ax ≤ b, l ≤ x ≤ u. (2.2) We can compute an optimal solution x 0 of (2.2) using any one of ordinary algorithms because C ∩D is nonempty by (a) and bounded.Assumption (c) means that there is a point y ∈ C ∩ D in any neighborhood of each feasible solution such that g(y) < 0. Under Assumptions (a)-(c), we can obtain two important theorems, even when g is inseparable (see e.g., [8], [10] for their proofs).
Theorem 2.1 The boundary of G contains all optimal solutions to (2.1), at least one of which lies on an edge of the polytope C ∩ D.
The problem given in Theorem 2.2, i.e., PD(α) plays a crucial role in solution to (2.1) when we try to exploit the separability of the side constraint g(x) = n j=1 g j (x j ) ≤ 0. This problem is called the dual problem of (2.1) because it has the same optimal solution x * as the original problem (2.1) if α = c T x * , though the objective and side constraint are reversed.

Falk-Soland's algorithm for PD(α)
Since PD(α) is a separable concave minimization, we can solve it using the rectangular branch-and-bound algorithm by Falk-Soland [3], which is well known as the most powerful tool in global optimization.We will run through the mechanism of Falk-Soland's algorithm.Let and rewrite PD(α) as follows P(D) minimize g(x) subject to x ∈ C ∩ D.
In the rectangular branch-and-bound algorithm, while subdividing the rectangle D successively into we solve each subproblem P(D k ).Subdivision of D needs carrying out in such a way that the set of resulting subrectangles D k 's constitutes a partition of D; hence, in the course of the algorithm, we always have where intM denotes the interior of a set M .The outline of the algorithm consists of three basic steps.Let ≥ 0 be a given tolerance for the optimal value of PD(α).
Step 1.Take an appropriate index i k out of K and let D := D i k .
Step 2. (Bounding operation) Compute a lower bound z k on the optimal value z(D) of P(D).If z k + ≥ g(x * ) for the best feasible solution x * to PD(α) obtained so far, discard D from further consideration.
There are two major advantages in this algorithm: (1) we need only two vectors l k = (l k 1 , . . ., l k n ) and u k = (u k 1 , . . ., u k n ) to maintain and construct each subproblem P(D); and (2) we can compute a tight lower bound z k by solving a linear program.Bounding operation (Step 2).To compute a lower bound z k in Step 2, we first determine the convex envelope of g i on the interval [l j , u j ] for each j = 1, . . ., n: From the concavity of g j , we see that where we should remark that h j (x j ) = g j (x j ) if x j ∈ {l j , u j }.Since g is the sum of g j 's, this property is inherited to where the equality holds when x j ∈ {l j , u j } for j = 1, . . ., n.
We should also note on h that it is an affine function of x.Hence, replacing the objective function g of P(D) by h, we have a linear program that provides a lower bound of P(D): Let x k denote an optimal solution to PL(D) when C ∩ D = ∅.Then we see that h(x k ) can be used as the lower bound z k in Step 2: ) there is a relationship: where the equalities hold when x k j ∈ {l j , u j } for j = 1, . . ., n.The rectangular branch-and-bound algorithm requires one to solve a series of linear programs of the form PL(D).These problems, however, differ from one another in just h and D. Therefore, any optimal basis B of A in the present problem can serve as the initial basis in solution to the succeeding problem.Namely, we first restore B to a feasible one for the new bounding constraints defining D; then we optimize it according to the new objective function h (see e.g., [2] in further detail).This process can usually be done in quite a few pivoting operations.Branching operation (Step 3).In Step 3, we divide D in such a way that the resulting sets D 2k and D 2k+1 satisfy (2.4) and (2.5).We can carry out this as follows, given an index j ∈ {1, . . ., n} and a number m j ∈ [l j , u j ]: In general, no matter how we select j and m j , the algorithm is not ensured to be finite if = 0.In that case, it generates an infinite sequence of rectangles D ki , i = 1, 2, . .., such that Let us denote D ki simply by and the sequence by L = {1, 2, . . ., i, . ..}.We assume that for each i ∈ L, rectangle D i+1 is generated from D i via (2.8) for some pair (j i , m i ji ).
Lemma 2.3 There is an infinite subsequence L q ⊂ L such that j i = q for all i ∈ L q , and we have i i q → l * q , u i q → u * q and m i q → m * q ∈ {l * q , u * q } as i → +∞ in L q .
T. KUNO AND J. SHI When > 0, the rules below of selecting (j, w j ) guarantee the finiteness of the algorithm by the next lemma.
Bisection.For each i ∈ L, letting Lemma 2.4 If L is generated according to either bisection of ratio λ ∈ (0, 1) or ω-division, then there is a subsequence where x i is an optimal solution to PL(D i ) and z i the optimal value.
The rest to be discussed is how to select an index i k from the set K in Step 1. Usually, either of the following rules is adopted: Depth first.The set K is maintained as a list of stack.An index i k is taken from the top of K; and 2k + 1, 2k are added to the top.
Best bound.The set K is maintained as a list of priority queue.An index i k of least z i k is taken out of K.
If we adopt the latter, even when = 0, the sequence of x k 's generated by the rectangular branch-and-bound algorithm has accumulation points, each of which is a globally optimal solution to PD(α).

Direct Application of Falk-Soland's Algorithm
A straightforward way to solve our problem (2.1) by exploiting its separability is to apply Falk-Soland's algorithm to the dual problem PD(α) for an appropriate α.To fix the value of α, Tuy [18], Tuy-Thuong [20] and Pferschy-Tuy [14] have suggested the following approach.First, we generate a locally optimal solution x * using any one of available algorithms, and then check its global optimality by solving PD(α) with α = c T x * .If the optimal value of PD(c T x * ) is zero, then x * is a globally optimal solution to (2.1); otherwise, we try checking another locally optimal solution.
LINEAR PROGRAMS WITH SEPARABLE CONCAVE CONSTRAINT 163

Local search
According to their approach, the first thing we have to do is to search a locally optimal solution x * .We can use the simplex algorithm on problem (2.1) since the objective and constraints except for the last one are all linear.The simplex algorithm may start from any feasible vertex v 1 ∈ G of the polytope C ∩ D. If no feasible vertex is on hand, we may solve PD(−∞), using Falk-Soland's algorithm.Since the objective function g of PD(−∞) is concave, it achieves the minimum at some vertex By Assumption (c), we must have g(v 1 ) < 0. To be precise, Falk-Soland's algorithm might not yield a vertex of C ∩ D when its tolerance > 0; but how to cope with that case will be discussed later.
Starting from v 1 , we generate a sequence of adjacent vertices v 2 , v 3 , . . .
using the simplex algorithm, with some anticycling pivoting rule if necessary (see [2]).In this process, we must encounter a vertex v satisfying before reaching an optimal vertex x 0 of the linear program (2.2).Then we compute an intersection point x * of the edge v −1 -v and ∂G.This point Since (3.1) is a convex minimization and besides univariate, computation of λ * is inexpensive.From Theorem 2.1, we see that x * is a nominee for solution to the target (2.1).
In this local search procedure, we should remark that an edge v i−1 -v i for some i < can intersects ∂G.More precisely, there might be at most two points x and x on edge v i−1 -v i such that g(x ) = g(x ) = 0.In that case, however, both x and x cannot be optimal for (2.1) because and v i ∈ C ∩ D \ G by assumption.Even if we neglect such intersection points, we never lose any optimal solution to (2.1).

Global optimality check
If we obtain the nominee x * ∈ C ∩ D ∩ ∂G, the next thing is to check whether x * satisfies the optimality condition of (2.1) given by Theorem 2.2.We can accomplish it, in theory, applying Falk-Soland's algorithm to PD(c T x * ).If the algorithm yields x * as an optimal solution to PD(c T x * ), we can conclude from Theorem 2.2 that x * is optimal for (2.1) as well.In practice, however, Falk-Soland's algorithm might not terminate in finite time, without a positive tolerance .We therefore need some additional devices.
For a sufficiently small δ > 0, let x be a point on the line including edge where x 0 is an optimal solution to the linear program (2.2).Also letting we see that > 0. Instead of solving PD(c T x * ), we solve PD(c T x ) using Falk-Soland's algorithm with this as tolerance.Then the algorithm must terminate in finite time and yield an -optimal solution to PD(c T x ).If the output solution is x , then it satisfies g(x ) ≤ g(x) + for any x ∈ C ∩ D satisfying c T x ≥ c T x * + δ.Since g(x ) = by definition, we have If there is a point x ∈ C ∩ D satisfying this with equality, then x is an optimal solution to (2.1) and the optimal value is c T x * + δ by Theorem 2.2.Hence, we have which means that x * ∈ C ∩ D ∩ ∂G is a globally δ-optimal solution to (2.1).
Next, suppose that Falk-Soland's algorithm yields x * = x with g(x * ) < .This point x * is a vertex of C ∩D k for some k ∈ K but might not be a vertex of C ∩ D. However, since g achieves each local minimum at some vertex of C ∩ D, finding a vertex w 1 of C ∩ D with g(w 1 ) ≤ g(x * ) is not expensive if we locally minimize g on C ∩ D starting from x * .Once we obtain such a point w 1 with g(w 1 ) ≤ g(x * ) < , we may again generate a sequence of adjacent vertices w 2 , w 3 , . . . of C ∩ D such that c T w 1 < c T w 2 < • • • , until some edge w −1 -w intersects ∂G.

Description of the algorithm
Let us summarize the algorithm alternating local search and concave minimization, where δ > 0 is a given tolerance.
with other multiextremal global optimization problems.In this section, we will develop a method that computes an upper bound on the optimal value of (2.1), not a lower bound on that of the dual problem, in the bounding operation.Therefore, once we call this branch-and-bound algorithm, it generates a globally optimal solution to the original problem (2.1).
As in Falk-Soland's algorithm, we subdivide the rectangle D into subrectangles D k , k ∈ K, which constitutes a partition of D. However, the problem to be solved for each partition set D k is not P(D k ) but a subproblem of (2.1), i.e., we solve a problem of the following form with D = D k : Of course, Q(D) belongs to the same class as (2.1), and hence cannot be solved directly.Instead, we compute an upper bound w k on Q(D) in each iteration and narrow partition sets down to the one containing an optimal solution to (2.1).Let ≥ 0. The outline of the algorithm is as follows: Step 1.Take an appropriate index i k out of K and let D := D i k .
Step 2'.(Bounding operation) Compute an upper bound w k on the optimal value w(D) of Q(D).If w k − ≤ c T x * for the best feasible solution x * to (2.1) obtained so far, discard D from further consideration.
We will begin by explaining how to compute the upper bound w k in Step 2' of this scheme.

Linearization and its solution
As shown in Lemma 2.1, the convex envelope h of g defined in (2.6) and (2.7) satisfies h(x) ≤ g(x) for all x ∈ D. Hence, by letting This immediately implies that the optimal value w(D) of Q(D) is bounded from above by that of Let x k denote an optimal solution to QL(D) when it is feasible.Also, let Otherwise, the following relationship holds: Since h is an affine function, QL(D) is a linear program with the set of constraints where Therefore, if we try to use w k as the upper bound in Step 2', we need to solve a series of linear programs different from one another just in the last rows of A and b .However, this structure of A causes a serious disadvantage when we solve them using the revised simplex algorithm where the inverse of each basis is maintained in a compact form such as a product of eta matrices (see e.g., [2]).Even if we keep an optimal basis of A in such a form for the present problem, it is of no use in solving the succeeding problems.To improve this, we propose to solve QL(D) in two stages starting from an optimal solution x k−1 of the proceeding linear program.
In both stages, the matrix we mainly deal with is not A but A defined in (2.3).

First stage of solution to QL(D).
Let It is known that φ is a convex piecewise affine function of α (see e.g., [2]).We see from the following that QL(D) amounts to locating the maximum of α satisfying φ(α) ≤ 0.
Lemma 4.2 Let x be a point in C ∩ D ∩ H. Then x is an optimal solution to QL(D) if and only if c T x is the maximum value of α satisfying φ(α) ≤ 0.
Therefore, if either holds, we have c T x ≥ c T x for any x ∈ C ∩ D satisfying h(x) ≤ 0, which implies the other.If c T x = α for any x ∈ C ∩ D, then φ(α) is understood to be +∞.For a given x k−1 optimal for the preceding linearized subproblem, we first check the value of φ at c T x k−1 .This can be done by solving the following linear program: Three cases can occur: 2) is infeasible.In this case, φ(c T x k−1 ) = +∞ and QL(D) can provide no better solution than x k−1 .Hence, we can exclude the rectangle D from further consideration.
Case 2: Problem (4.2) has an optimal solution x such that c T x = c T x k−1 .The value φ(c T x k−1 ) is given by h(x ).If h(x ) = 0, then c T x k−1 is the maximum of α; but QL(D) can provide no better solution than x k−1 as long as h(x Case 3: Problem (4.2) has an optimal solution x such that c T x > c T x k−1 .
Let α 1 = c T x .Then we have φ(α 1 ) = h(x ).If h(x ) vanishes, then α 1 is the maximum of α; hence, x k and w k can be set to x and α 1 , respectively.
In these stages, we should remark that (4.2) is of the same form as PL(D), the linearized subproblem in Falk-Soland's algorithm.While α in PL(D) is treated as just a constant, (4.2) is solved via PQ(α) parametrically as changing the value of α from c T x k−1 .In this connection, we also note that (4.2) is dual for the linearization QL(D) in the sense of Theorem 2.2 if x k−1 is optimal for the latter.This branch-and-bound algorithm, therefore, can be thought of as a method for solving the dual problem of each subproblem while Algorithm 1 tries to solve the dual problem of the original problem.
Let us summarize the above procedure, which receives h, x k−1 , and returns the optimal value w k of the linearized subproblem QL(D): 2) is infeasible then return w k := −∞ else begin let x be an optimal solution to (4.2); if c T x = c T x k−1 then in general, x k is not even a feasible solution to Q(D).To perform the bounding operation efficiently, however, we need a feasible solution giving a lower bound on (2.1) and have to update it timely.One way to find a feasible solution to (2.1) is to check if each solution to PQ(α) lies on G or not, in the second stage of solution to QL(D).Here, we will give a more handy approach.Suppose that a feasible solution x to the original problem (2.1) is given and satisfies g( x) < 0. If g(x k ) ≥ 0 holds, the line segment connecting x k and x intersects ∂G at x = (1 − λ)x k + λ x for some λ ∈ [0, 1].Such a number λ can be computed in a way similar to (3.1).This boundary point x of G is a feasible solution to (2.1) because the segment x kx is entirely included in the convex set C ∩ D 1 .We compute x in each iteration if possible, and then update the incumbent and lower bound with x .The point x need not be determined beforehand.As the rectangular subdivision advances, some vertex of D k , k ∈ K, becomes feasible for (2.1).Hence, we may check if each vertex of D is feasible for (2.1) in each iteration.Since g is concave, checking requires O(2 n ) time.In the usual application, however, each g j constituting g represents a cost of x j and is nondecreasing.In that case, we need only to check the feasibility of vertex l.
The branching operation can be performed in the same way as in Falk-Soland's algorithm, i.e., we can use both bisection and ω-division for selecting (j, m j ) in (2.8).Since the convergence by the bisection rule is obvious, we briefly discuss the case of ω-division.Let L denote the nested sequence of D ki , i = 1, 2, . .., as defined in (2.9).If we generate the sequence L according to the ω-division rule, for each i ∈ L we select and divide the interval [l i ji , u i ji ] at where x i is an optimal solution to QL(D i ).From (4.4) and Lemma 2.3, there is a subsequence L ⊂ L such that l i j → l * j and u i j → u * j for each j as i → +∞ in L ; and besides, l * j and u * j are accumulation points of m i j .This, together with (4.5), implies that x i has an accumulation point among the vertices of . From Lemma 2.1, however, the convex envelope h agrees with g at each of these vertices; and hence the optimal values of Q(D * ) and QL(D * ) coincide.Thus, we have the following: T. KUNO AND J. SHI Lemma 4.3 If L is generated according to either of the bisection and ωdivision rules, then there is a sequence L ⊂ L such that

Description of the algorithm
Lastly, we need to decide the rule of selecting an index i k from the set K in Step 1.As in Falk-Soland's algorithm, we can adopt either of the depth first and best bound rules.We are now ready to describe the algorithm, where > 0 is a given tolerance.

Algorithm 3 begin
construct the linearized problem QL(D) of (2.1) and solve it to obtain x 1 ; select j ∈ {1, . . ., m} and m j ∈ [l j , u j ] by a fixed rule (bisection or ω-division); The following results are analogous to those of Falk-Soland's algorithm.Theorem 4.1 When > 0, Algorithm 3 terminates in a finite number of iterations and yields a globally -optimal solution x * to problem (2.1).
Corollary 4.1 Suppose = 0.If the best bound rule is adopted in Step 1, the sequence of x k 's generated by Algorithm 3 has accumulation points, each of which is a globally optimal solution to problem (2.1).

Concluding Remarks
We have seen that Falk-Soland's rectangular branch-and-bound algorithm can serve as a useful procedure in solving linear programs with an additional separable reverse convex constraint (LPASC).Since we have not yet compared Algorithm 1 and 3 with other algorithms, we can make no final conclusions about their computational properties.However, if we think of the success of Falk-Soland's algorithm in concave minimization, we can strongly expect Algorithms 1 and 3 using it in a direct or indirect manner to be reasonably practical.
As stated in Section 1, the rectangular branch-and-bound algorithm has made great progress since Falk-Soland [3].Although we have used Falk-Soland's classical branch-and-bound in Algorithm 1, we can instead employ modern algorithms of this kind such as [11], [15].These are reported to be more efficient than Falk-Soland's original algorithm.Therefore, such modification will improve the efficiency of Algorithm 1 considerably.In addition, we could incorporate devices of [11], [15] into Algorithm 3 because its structure is basically the same as Falk-Soland's branch-and-bound algorithm.

Call for Papers
As a multidisciplinary field, financial engineering is becoming increasingly important in today's economic and financial world, especially in areas such as portfolio management, asset valuation and prediction, fraud detection, and credit risk management.For example, in a credit risk context, the recently approved Basel II guidelines advise financial institutions to build comprehensible credit risk models in order to optimize their capital allocation policy.Computational methods are being intensively studied and applied to improve the quality of the financial decisions that need to be made.Until now, computational methods and models are central to the analysis of economic and financial decisions.
However, more and more researchers have found that the financial environment is not ruled by mathematical distributions or statistical models.In such situations, some attempts have also been made to develop financial engineering models using intelligent computing approaches.For example, an artificial neural network (ANN) is a nonparametric estimation technique which does not make any distributional assumptions regarding the underlying asset.Instead, ANN approach develops a model using sets of unknown parameters and lets the optimization routine seek the best fitting parameters to obtain the desired results.The main aim of this special issue is not to merely illustrate the superior performance of a new intelligent computational method, but also to demonstrate how it can be used effectively in a financial engineering environment to improve and facilitate financial decision making.In this sense, the submissions should especially address how the results of estimated computational models (e.g., ANN, support vector machines, evolutionary algorithm, and fuzzy models) can be used to develop intelligent, easy-to-use, and/or comprehensible computational systems (e.g., decision support systems, agent-based system, and web-based systems) This special issue will include (but not be limited to) the following topics: • Computational methods: artificial intelligence, neural networks, evolutionary algorithms, fuzzy inference, hybrid learning, ensemble learning, cooperative learning, multiagent learning 1 := D; K := {2, 3}; k := 2; w * := −∞; while K = ∅ do / * Step 1 * / select an index i k from K by a fixed rule (depth first or best bound); K := K \ {i k }; D := D i k ; if w * := −∞ and some vertex v of D lies on C ∩ D 1 \ G then begin x := v; w * := c T x end; / * Step 2' * / construct a subproblem Q(D) and its linearization QL(D); compute an optimal solution x k and the value w k of QL(D) using Procedure 2; if w k − > w * then begin / * Step 3 * / if w * > −∞ then begin let x be an intersection point of x kx and ∂G; if c T x > w * then update w * := c T x and x * := x end; select j ∈ {1, . . ., n} and m j ∈ [l j , u j ] by a fixed rule; D

•
Application fields: asset valuation and prediction, asset allocation and portfolio selection, bankruptcy prediction, fraud detection, credit risk management • Implementation aspects: decision support systems, expert systems, information systems, intelligent agents, web service, monitoring, deployment, implementation