Simplicial decomposition (SD) of variational inequalities experiences the long-tail convergence property. That is, the equilibrium solution rapidly progresses at first but then tails off, making only a tiny amount of progress per column generation iteration, which is a drawback of SD-VI. In the context of Dantzig-Wolfe of LP, it is reported that the more proposals are used to initialize the algorithm, the faster the solution can be found by reducing the number of decomposition steps. Therefore, I proposed to solve multiple nonlinear column generation (mNCG) subproblems in each SD-VI iteration (SD-VI-mNCG) instead of solving only one subproblem as in SD-VI. Generating multiple column generation subproblem solutions in each SD-VI iteration enabled the corresponding convex hull to be rapidly enlarged. Consequently, the number of SD-VI iterations could be greatly reduced. A transportation network equilibrium problem was used to study the performance of the SD-VI-mNCG.
Citation: William Chung. Simplicial decomposition of variational inequalities with multiple nonlinear column generation[J]. AIMS Mathematics, 2024, 9(6): 14618-14639. doi: 10.3934/math.2024711
Related Papers:
[1]
Saudia Jabeen, Bandar Bin-Mohsin, Muhammad Aslam Noor, Khalida Inayat Noor .
Inertial projection methods for solving general quasi-variational inequalities. AIMS Mathematics, 2021, 6(2): 1075-1086.
doi: 10.3934/math.2021064
[2]
Muhammad Bux, Saleem Ullah, Muhammad Bilal Khan, Najla Aloraini .
A novel iterative approach for resolving generalized variational inequalities. AIMS Mathematics, 2023, 8(5): 10788-10801.
doi: 10.3934/math.2023547
[3]
Muhammad Aslam Noor, Khalida Inayat Noor, Bandar B. Mohsen .
Some new classes of general quasi variational inequalities. AIMS Mathematics, 2021, 6(6): 6406-6421.
doi: 10.3934/math.2021376
[4]
Feng Ma, Bangjie Li, Zeyan Wang, Yaxiong Li, Lefei Pan .
A prediction-correction based proximal method for monotone variational inequalities with linear constraints. AIMS Mathematics, 2023, 8(8): 18295-18313.
doi: 10.3934/math.2023930
[5]
Aslı Alkan, Halil Anaç .
The novel numerical solutions for time-fractional Fornberg-Whitham equation by using fractional natural transform decomposition method. AIMS Mathematics, 2024, 9(9): 25333-25359.
doi: 10.3934/math.20241237
[6]
Zhiying Deng, Yisheng Huang .
Existence and multiplicity results for a singular fourth-order elliptic system involving critical homogeneous nonlinearities. AIMS Mathematics, 2023, 8(4): 9054-9073.
doi: 10.3934/math.2023453
[7]
Francisco J. Mendoza-Torres, Juan A. Escamilla-Reyna, Daniela Rodríguez-Tzompantzi .
The Jordan decomposition of bounded variation functions valued in vector spaces. AIMS Mathematics, 2017, 2(4): 635-646.
doi: 10.3934/Math.2017.4.635
[8]
Muhammad Aslam Noor, Khalida Inayat Noor .
Higher order strongly general convex functions and variational inequalities. AIMS Mathematics, 2020, 5(4): 3646-3663.
doi: 10.3934/math.2020236
[9]
Lu-Chuan Ceng, Shih-Hsin Chen, Yeong-Cheng Liou, Tzu-Chien Yin .
Modified inertial subgradient extragradient algorithms for generalized equilibria systems with constraints of variational inequalities and fixed points. AIMS Mathematics, 2024, 9(6): 13819-13842.
doi: 10.3934/math.2024672
[10]
Jittiporn Tangkhawiwetkul .
A neural network for solving the generalized inverse mixed variational inequality problem in Hilbert Spaces. AIMS Mathematics, 2023, 8(3): 7258-7276.
doi: 10.3934/math.2023365
Abstract
Simplicial decomposition (SD) of variational inequalities experiences the long-tail convergence property. That is, the equilibrium solution rapidly progresses at first but then tails off, making only a tiny amount of progress per column generation iteration, which is a drawback of SD-VI. In the context of Dantzig-Wolfe of LP, it is reported that the more proposals are used to initialize the algorithm, the faster the solution can be found by reducing the number of decomposition steps. Therefore, I proposed to solve multiple nonlinear column generation (mNCG) subproblems in each SD-VI iteration (SD-VI-mNCG) instead of solving only one subproblem as in SD-VI. Generating multiple column generation subproblem solutions in each SD-VI iteration enabled the corresponding convex hull to be rapidly enlarged. Consequently, the number of SD-VI iterations could be greatly reduced. A transportation network equilibrium problem was used to study the performance of the SD-VI-mNCG.
1.
Introduction
Column generation (CG) is a method to solve large-scale mathematical programming problems such as optimization models and variational inequalities (Ⅵ) involving a vast number of variables. These models can be found in multi-cloud systems, multi-commodity economic equilibrium models, and transportation models. These models would become too large to be solved due to the rise of big data. For example, large-scale VI problems can be easily found in stochastic VI settings with large-scale scenario analysis. Even a well-established VI solver (PATH) has been found to terminate when attempting to solve a large-scale VI problem due to a lack of memory [1]. Using column generation algorithms, such large-scale problems can be decomposed into smaller subproblems to be solved on several computers. Another motivation for using CG is to improve model development and maintenance efficiency by joining separately well-developed submodels when a converged solution is needed. Other research groups, such as Murphy et al. [2], have made similar observations. These smaller submodels can even reside on different computers connected by a network. On top of improving model development and maintenance, CG may improve computational efficiency. For example, Chung [3] reported that some computational instances of CG were faster than the reference method, the PATH solver. Chung [3] also reported that the PATH solver terminated when attempting to solve a large-scale VI problem because of insufficient memory.
However, CG has a major drawback which is the long-tail convergence property, called long-tail effect. CG involves solving a subproblem and a master problem iteratively. An example of CG is simplicial decomposition (SD) method. Simplicial decomposition was recently employed and modified for different application aspects, such as Bettiol et al. [4], Uciński [5], Guignard and Ahlatcioglu [6], and Delle Site [7]. For the multiple subproblems aspect, see Morabit et al. [8]. It is assumed that there are efficient solution methods to solve the subproblem and the master problem. However, it is well known that the SD converge rapidly at first but subsequently slowly, with a long tail of near-optimal solutions. As the final optimality gap cannot be closed, this long-tail convergence resulting in poor computational performance becomes a drawback. Other drawbacks are dual oscillations and primal degeneracy, and alternative dual optimal solutions in optimization models. In my experience, CG methods for VI problems inherit this long-tail convergence property. That is, CG-VI is likely to approach the equilibrium solution rapidly at first but then tail off, making only a tiny amount of progress per CG iteration. Consequently, the time savings afforded by the rapid initial convergence tend to be offset by the tailing off. I develop a new method to alleviate the long-tail effect of CG-VI in the current paper.
1.1. Literature review of the methods of resolving the tailing-off effect
1.1.1. Existing methods of resolving the tailing-off effect for LP
Implementation enhancement: Nazareth [9] used a set of LP problem examples consisting of a few constraints and variables to identify the numerical difficulties that can generally occur when applying the DW method. Nazareth showed that even when stable techniques, such as the stable refactorization of the corresponding basis matrix, are used, the columns of the computed master program can differ substantially from those of the true one. Later, Nazareth [10] noted that because changes in primal and dual variables are applied iteratively, a certain amount of "cleaning up" is to be expected. According to Ho [11] explanation of long-tail convergence, implicit error bounds may imply a tolerance for convergence below which further apparent improvements should be considered as noise. However, Lübbecke and Desrosiers [12] remarked that tailing off also occurs when columns are computed exactly, e.g., through the use of combinatorial algorithms.
Column dropping: One may anticipate that dropping columns from the master problem will improve computational efficiency. Dantzig [13] proposed some methods for deciding how long proposals should be kept in the master problem, such as deleting all non-basic proposals immediately (apart from those just generated). Indeed, it is not entirely clear when to delete proposals from the master problem. Beale et al. [14] reported that when using Dantzig's [13] above-mentioned methods, for a problem with 450 constraints, the DW method performed marginally better than the simplex method. For NLP, Murphy [15] provided two conditions under which columns may be dropped from the restricted master problem. However, O'Neill's [16] computational results revealed virtually no differences in the measures of computational efficiency when all columns were retained and when only basic columns were retained.
Stabilized column generation methods: Another approach is to use stabilized column generation methods to ensure that the dual variable values of the linking constraints smoothly converge to their respective optima without vehement oscillation. From the literature, three stabilization techniques of optimization models can be found. These techniques are the proximity of a stability center, smoothing techniques, and centralized prizes for stabilizing the iterative dual solutions from the master problems. There are some well-known stabilization principles, such as the Boxtep method developed by Marsten et al. [17]. These stabilization methods are widely used in branch-and-bound algorithms for mixed integer programs. It should be noted that these techniques rely on solving dual master optimization problems. It would become a big challenge when one tries to use the dual master VI problems.
1.1.2. Existing methods of resolving the tailing-off effect for VI
To resolve the tailing-off problem afflicting simplicial decomposition of VI (SD-VI), Larsson and Patriksson [18] considered the use of subproblem column generations of nonlinear simplicial decomposition (NSD) to reduce the number of decomposition iterations. The generalized NSD method is obtained from the restricted simplicial decomposition method by replacing the linear column generation subproblem with a nonlinear column generation (NCG) subproblem. Generating columns based on the NCG subproblem requires fewer columns to describe an optimal solution, resulting in fewer decomposition iterations. There are three kinds of NSD column generation subproblems addressed by adopting Newton's method, the diagonalized Newton algorithm, and the projection method.
Chung et al. [19] extended the application of the DW procedure from linear programming (LP) to VI problems. The master problem and the subproblems of the decomposed VI are VIs. To shorten the computation time, Chung and Fuller [20] derived an approximation method to solve the subproblem VIs. Chung [3] integrated the results of Çelebi and Fuller [1] and Chung and Fuller [20] to develop an approximation method to solve DW-VI, in which both master VI and subproblem VI can be solved approximately as DW for LP. Chung [21] derived a truncated DW-VI method, in which the subproblem VI was approximately solved by one iteration of DW. Although they did not discuss the tailing-off effect, their computational results showed that the tailing-off effect for VI was alleviated.
In recent years, in the context of optimization problems, some research works concentrated on using machine learning to predict the stabilization technique for column generation and the patterns of different existing columns for re-optimization, see Morabit et al. [22] and Kraul et al. [23]. Although these approaches do not focus on column generation, their results can help to overcome the tailing-off effect in the re-optimization processes.
1.2. Approaches and contributions
In the context of Dantzig-Wolfe of LP, Dirickx and Jennergren [24] reported that, in general, the more proposals are used to initialize the algorithm, the faster the solution can be found. Therefore, in the current paper, I propose to solve multiple column generation subproblems in each SD-VI iteration instead of solving only one subproblem. By solving multiple column generation subproblems in each SD-VI iteration, I obtain two advantages, as follows: (1) Different columns will be generated and stored in the master problem to improve the representativeness of the corresponding convex hull. (2) Generating multiple column generation subproblem solutions in each SD-VI iteration will enable the corresponding convex hull to be rapidly enlarged. Consequently, the number of SD-VI iterations can be greatly reduced. The idea of generating multiple columns at a given iteration is not a new strategy in nonlinear programming, see Morabit et al. [8]. In short, I propose a new method, simplicial decomposition with multiple subproblems for VI, that solves multiple column generation subproblem in each SD-VI iteration to reduce the number of decomposition steps and thereby ease the tailing-off effect. One of the challenges of the new method is how to derive "multiple" subproblems. According to my knowledge, there is no research on solving multiple subproblems in SD-VI. It is a research gap in the literature. Moreover, the proposed method can also apply to NLP since the VI framework includes NLP.
While employing multiple subproblems (multiple column generation) in SD of optimization models, convergence properties and theories may be easily derived based on the existing results of the monotonic convergence properties. However, the convergence property of the SD-VI is non-monotone. Hence, the convergence properties and theories of multiple column generation of SD-VI is derived, and empirical tests are given.
In brief, the main contribution of the current paper is to derive a new method, simplicial decomposition with multiple subproblems for VI. The major challenges are (1) to derive "multiple subproblems" in SD-VI in the Subsection 3.2 and (2) to prove the convergence of the new method.
Section 2 provides the background of the VI problems, SD-VI methods, and SD of NLP with nonlinear column generation (NCG). Section 3 derives SD-VI with NCG (SD-VI-NCG) and with multiple NCGs (SD-VI-mNCG). SD-VI-NCG and SD-VI-mNCG are SD with one subproblem and multiple subproblems for VI, respectively. Convergence properties of the SD-VI-NCG and SD-VI-mNCG are also included. Section 4 is used to report computational performance of SD-NLP-mNCG, SD-VI-mNCG, and their re-optimization processes. Section 5 provides the conclusion with further research topics.
2.
Background
The class of the VI problems I will study can be described as follows. VI(G,K): Find a vector x∗∈K⊆Rn such that G(x∗)T(x−x∗)≥0∀x∈K, where G is given continuous mapping from KtoRn, superscript T denotes the transpose, and all vectors are considered to be column vectors. K is a nonempty, closed, and convex set. Applications of VI(G,K) can be found in user equilibrium traffic assignment problems and energy equilibrium problems. For large-scale VI, see Murphy et al. [2]. Harker and Pang [25] provided standard conditions for the existence and uniqueness of solutions to this class of VI problems. There are different methods of solving VI(G,K), such as PIES-like methods or Newtonian methods.
2.1. Column generation of VI methods (CG-VI)
There are two popular column generation of VI methods, simplicial decomposition of VI (see Lawphongpanich and Hearn [26]) and Dantzig-Wolfe of VI (see Fuller and Chung [27]). Since the my results are derived from simplicial decomposition of VI (SD-VI), a brief description of SD-VI is given below. Moreover, multiple subproblems are generated from SD with nonlinear column generation (NCG) of nonlinear programming (Larsson et al. [28]), NCG is given in this subsection.
2.2. Simplicial decomposition of VI (SD-VI)
Lawphongpanich and Hearn [26] presented a type of simplicial decomposition of VI method for the user equilibrium traffic assignment problem, in which K is a closed convex set of feasible flow patterns, and G is a cost mapping. The following SD-VI is not exactly the one presented in Lawphongpanich and Hearn [26]. The major differences are that there is no pre-set convergence sequence (εk) for convergent of their SD-VI and no column dropping consideration for improving the computational performance of the master-VI problems. It is because my results of employing multiple subproblems do not require the pre-set convergence sequence and column dropping procedure.
Note that SD-VI consists of linear programming subproblem, Sub−LPk, and an equilibrium master problem, Master−VIk, where superscript k represents the iteration number of CG-VI. Sub−LPk is defined as follows:
Sub−LPk(G(xkM),K) : find xkS∈K, such that G(xkM)T(x−xkS)≥0∀x∈K,
where xkM equals the solution of master problem (Master−VIk), described below.
The feasible set for the master problem at iteration k is restricted to all convex combinations of the k proposals (solutions of the subproblem). Let Xk be the n×k matrix whose columns are the solutions xiS of the subproblems solved at iterations i=1,…,k; i.e., Xk=[x1S,x2S,…,xkS]. The weights on the proposals in the convex combination are contained in the vector λ∈Rk. The feasible set for the master problem is defined as
Λk={λ∈Rk|ekTλ=1,λ≥0},
where ek∈Rk is a vector with 1 for every entry. The master problem at iteration k is defined as
Master−VIk(G,Λk) : find λk∈Λk, such that G(Xkλk)T(Xkλ−Xkλk)≥0∀λ∈Λk.
Alternatively, let conv(Xk) represent the set of all convex combinations of the columns of Xk. Then, I have the following alternative master problem at iteration k, defined as
Master −VIk(G,Kk) : find xkM∈Kk, such that G(xkM)T(x−xkM)≥0∀x∈Kk={x∈conv(Xk)}.
With the convergence gap, CGk=G(xkM)T(xkS−xkM), for the stopping condition, I can define the standard SD-VI algorithm as follows:
[SD-VI]
Step 0: Set k=0. Choose ε>0, x1M∈K, and X0 is a null matrix.
Step 1: Increment k←k+1.
Solve Sub−LPk(G(xkM),K) and place the solution xkS in the matrix Xk=[Xk−1,xkS].
If k=1 then go to Step 2; if CGk≥−ε then STOP; else go to Step 2.
Step 2: Solve Master−VIk(G,Kk). Record G(xkM). Go to Step 1.
In the next subsection, I describe the result of Larsson et al. [28] concerning how the nonlinear column generation (NCG) is employed in the context of SD of NLP. Based on their results, I first derive a SD of VI with NCG, then I derive a SD of VI with multiple NCG.
2.3. Simplical decomposition of NLP with nonlinear column generation (NCG)
According to Larsson et al. [28], SD of NLP with NCG (SD-NLP-NCG) is the combination of the SD principle and the nonlinear search direction finding subproblem of a primal descent algorithm for NLP, not VI.
NLP: Minx∈K∫G(x)dx.
For NLP, the master problem and the subproblem of SD are shown below:
For NCG, the above subproblem, Sub−LPk, becomes the combination of the SD principle and the nonlinear search direction finding subproblem of a primal descent algorithm for NLP. Larsson et al. [28] modified the subproblem by adding a continuous regularization function, φ(x,x):K×K⟼R, with the following properties:
(1) φ(⋅,y) is strictly convex and continuously differentiable on K for every y∈K;
(2) ∇xφ(x,y)=0 holds if and only if x=y.
Then, given an iterate xkM, the subproblem of SD-NLP-NCG becomes an NLP.
SubNCG−NLPk(G(xkM),K):Minx∈KG(xkM)Tx+φ(x,xkM).
It is noted that the solution of SubNCG−NLPk, xkS, is unique due to the compactness of K and the strict convexity of φ(⋅,y). Moreover, xk−1M is optimal in NLP if and only if xk−1M solves SubNCG−NLPk, that is, xkS=xk−1M. In the numerical experiments of Larsson et al. [28], the function φ had the form:
φ(x,y)=12(x−y)TQ(y)(x−y),
where Q(y) is a positive definite and symmetric matrix for every y in K. Three matrixes were proposed: Q(y)≡γI,γ>0, Q(y)=∇G(xkM), and Q(y)=diag∇G(xkM).
3.
Simplicial decomposition of VI and NCG
Based on the results of Larrsson et al. [28], I first define the method of SD-VI with a NCG (SD-VI-NCG), then SD-VI with multiple NCG (SD-VI-mNCG).
3.1. Simplicial decomposition of VI with NCG (SD-VI-NCG)
To derive a SD-VI with NCG, the Sub−LPk(G(xkM),K) of SD-VI is replaced with SubNCG−NLPk(G(xkM),K). Then, I can define the standard SD-VI-NCG algorithm as follows:
[SD-VI-NCG]
Step 0: Set k=0. Choose ε>0, x1M∈K, and X0 is a null matrix.
Step 1: Increment k←k+1.
Solve ~Sub−NLPk(˜G(x;xkM),K) and place the solution xkS in the matrix Xk=[Xk−1,xkS].
If k=1 then go to Step 2; if CGk≥−ε then STOP; else go to Step 2.
Step 2: Solve Master−VIk(G,Kk). Record G(xkM). Go to Step 1.
Noted that if I use ˜G(x;xkM)=G(xkM)+Q(xkM)(x−xkM), the subproblem is equal to the one in SD-NLP-NCG, SubNCG−NLPk(G(xkM),K). That is,
Minx∈KG(xkM)Tx+12(x−xkM)TQ(xkM)(x−xkM).
3.1.1. Convergence of SD-VI-NCG
With the assumption of ˜G(x;xkM) is strictly monotone in x and ˜G(xkM;xkM)=G(xkM), I can extend the results of Chung and Fuller [20] to have the following properties.
Theorem 1a.λk solves Master−VIk(G,Λk) iff there exist λk∈Rk+ and θk∈R such that the following relations hold:
Proof. This is a standard result for VI problems. See, e.g., Proposition 2.2 in Harker and Pang [25].
Theorem 2a. Given the property ˜G(xkM;ξk)=G(xkM). If xkM solves ~Sub−NLPk(˜G(x;xkM),K), then xkM solves VI(G,K).
Proof. Ref. new Theorem 4 in Chung and Fuller [20].
Suppose that xkM=Xkλk solves ~Sub−NLPk(˜G(x;xkM),K). It follows that ˜G(xkM;xkM)T(x−xkM)≥0∀x∈K. As ˜G(xkM;xkM)=G(xkM), I have G(xkM)T(x−xkM)≥0∀x∈K and I may conclude that xkM solves VI(G,K).
Theorem 3a. Assume that ˜G(x;ξk) is strictly monotone in x. Given the property ˜G(xkM;ξk)=G(xkM). If CGk=G(xkM)T(xkS−xkM)≥0, then xk−1M solves VI(G,K).
Proof. Ref. new Theorem 6(a) of Chung and Fuller [20].
We shall show that if xkM does not solve VI(G,K), then CGk<0. By Theorem 2a, xkM≠xkS, and since ˜G(xkM;ξk)=G(xkM), strict monotonicity of ˜G(x;ξk) implies that (G(xkM)−˜G(xkS;ξk))T(xkM−xkS)>0. Since xkS solves ~Sub−NLPk(˜G(x;xkM),K), it follows that ˜G(xkS;ξk)T(xkM−xkS)≥0. Adding this last inequality to the strict inequality and multiply by -1 yields G(xkM)T(xkS−xkM)<0.
Theorem 4. Either CGk≥0 at a finite iteration number k, or CGk<0 for all iterations k. In the latter case, any infinite subsequence of {(xkM,xkS)}∞k=1 has at least one limit point, and if G is continuous then limk→∞CGk=0.
Proof. Ref. new Theorem 8 of Chung and Fuller [20].
Suppose that CGk=G(xkM)T(xkS−xkM)<0 for all k and suppose, contrary to my desired conclusion, that there exists an ε>0 and infinite set of iteration numbers, T, such that G(xkM)T(xkS−xkM)<−ε for all k∈T. For any k and r with r>k, xkS is one of the proposals available to Master−VIr(G,Λr); thus, I may use the complementarity conditions in Theorem 1 to derive an inequality. I do this by examining the dual feasibility constraint in Master−VIr(G,Λr) associated with the primal variable λrk which is the weight associate with the proposal xkS: xkSTG(xrM)+θr≥0. I may eliminate the variable θr using the complementarity slackness condition ∑ri=1(xiSTG(xrM)+θr)Tλri=0, and using the constraint ∑ri=1λri=1, and the fact that xrM=∑ri=1λrixiS: θr=−xrMTG(xrM). This allow us to rewrite the constraint associated with λrk:G(xrM)T(xk+1S−xrM)≥0, for all k and r with r>k. Subtracting this from the strict inequality derived earlier, yields G(xkM)T(xkS−xkM)−G(xrM)T(xkS−xrM)<−ε, for all k,r∈T with r>k. Note that continuity of G makes the left of the inequality continuous in (xM,xS). By the property that any infinite subsequence {(xkM,xkS)}∞k=1 has at least one limit point, there exists a subset ˆT⊂T such that limk→∞,k∈ˆT(xkM,xkS)=(ˆxM,ˆxS), a limit point. Finally, I let r→∞ through values r∈ˆT, in the inequality, and then let k→∞ through values k∈ˆT (this order of limits ensures that r>k throughout the limiting process) to derive the contradiction 0=G(ˆxM)T(ˆxS−ˆxM)−G(ˆxM)T(ˆxS−ˆxM)<−ε<0. That is, CGk<0, contradicting the assumption that CGk≥0.
After deriving a SD-VI-NCG, I derive SD-VI with multiple NCG (SD-VI-mNCG) in the next subsection.
3.2. Simplicial decomposition of VI with multiple NCG (SD-VI-mNCG)
For having multiple NCGs, I introduce a parameter, αj, to the additional component of SD-VI subproblem approximation. Then, I define the jth subproblem approximation mapping:
Assuming that I have J subproblems, then, for each SD iteration, I have J subproblem proposals, (xkS1,…,xkSj,…,xkSJ). For the jth subproblem, the proposal, xkSj, is stored in the matrix XkSj=[Xk−1Sj,xkSj]=[x1Sj,x2Sj,…,xkSj]. Then, let XkmNCG=[XkS1,…,XkSj,…,XkSJ].
The feasible set for the master problem at iteration k is restricted to all convex combinations of the k proposals (solutions of all subproblems). Let XkmNCG be the n×(k×j) matrix whose columns are solutions xiSj of all subproblems solved at iterations i=1,…,k. The weights on the proposals in the convex combination are contained in the vector λkj∈Rk×j. The feasible set for the master problem is defined as ΛkmNCG={λkj∈Rk×j|(ek×j)Tλkj=1,λkj≥0}, where ek×j∈Rk×j is a vector with 1 for every entry. The master problem at iteration k is defined as
Master−VIkmNCG(G,ΛkmNCG): Find λkj∈ΛkmNCG, such that G(XkmNCGλkj)T(XkmNCGλ−XkmNCGλkj)≥0∀λkj∈ΛkmNCG.
Alternatively, let conv(Xk) represent the set of all convex combinations of the columns of Xk. Then, I have the following alternative master problem at iteration k, defined as
Master−VIkmNCG(G,KkmNCG): Find xkM∈KkmNCG, such that G(xkM)T(x−xkM)≥0∀x∈KkmNCG={x∈conv(XkmNCG)}.
Since I have J subproblems, I can have J convergence gaps for the stopping condition, according to Theorems 3 and 4, CGkj=G(xkM)T(xkSj−xkM) for all j.
We first state the algorithm of SD-VI-mNCG and then the corresponding new theorems about the convergence and the stopping conditions.
[SD-VI-mNCG]
Step 0: Set k=0. Choose ε>0, αj>αj−1>⋯>α1>0,x1M∈K, and X0iis a null matrix i = 1, …,j.
Step 1: Increment k←k+1.
Solve ~Sub−NLPkj(˜Gj(x;xkM;αj),K) for all j, and place the solution xkSi in the matrix [Xk−1Si,xkSi],i=1,…,j; and update XkmNCG=[XkS1,…,XkSj]. If k=1 then go to Step 2; else if CGkj=G(xkM)T(xkSj−xkM)≥−ε then STOP; else go to Step 2.
Step 2: Solve Master−VIkmNCG(G,KkmNCG). Record G(xkM). Go to Step 1.
3.2.1. The computational sequence of SD-VI-mNCG
The SD-VI-mNCG algorithm first solves ~Sub−NLP11 with α1=0, to generate a column proposal (x1Sj) for all j to be placed in the matrix X1mNCG of Master−VI1mNCG to enlarge the set Λ1mNCG. Master−VI1mNCG is solved to obtain a new x1M for new G(x1M) and Q(x1M). The algorithm proceeds with k=k+1, and the new column proposals from ~Sub−NLPkj is added to the matrix XkSj for all j and update XkmNCG which Master−VIkmNCG uses to define its convex combinations, and the next solution of the Master−VIk produces a new G(xkM) and Q(xkM) for ~Sub−NLPkj. The algorithm proceeds in this manner until the stopping criterion is satisfied (see Theorem 5 in the following subsection).
3.2.2. Convergence of SD-VI-mNCG
Theorem 1b.λkj solves Master−VIkmNCG(G,ΛkmNCG) iff there exist λkj∈Rk×j+ and θkj∈R such that all of the following relations hold:
Theorem 2b. Given the property ˜Gj(xkM;xkM;αj)=G(xkM). If xkM solves any one of J subproblem: ~Sub−NLPkj(˜Gj(x;xkM;αj),K), then xkM solves VI(G,K).
Proof. Ref. new Theorem 4 in Chung and Fuller [20].
Suppose that xkM solves the jth subproblem, ~Sub−NLPkj. It follows that ˜G(xkM;xkM;αj)T(x−xkM)≥0∀x∈K. As ˜Gj(xkM,xkM;αj)=G(xkM), I have G(xkM)T(x−xkM)≥0∀x∈K and I may conclude that xkM solves VI(G,K).
Theorem 3b. Assume that ˜Gj(x;xkM;αj) is strictly monotone in x. Given the property ˜Gj(xkM;xkM;αj)=G(xkM). If any CGkj=G(xkM)T(xkSj−xkM)≥0, then xkM solves VI(G,K).
Proof. Ref. new Theorem 6(a) of Chung and Fuller [20].
We shall show that if xkM does not solve VI(G,K), then CGk<0. By Theorem 2b, xkM≠xkSj, and since ˜Gj(xkM;xkM;αj)=G(xkM), strict monotonicity of ˜Gj(xkM;xkM;αj) implies that (G(xkM)−˜Gj(xkM;xkM;αj))T(xkM−xk+1Sj)>0. Since xkSj solves ~Sub−NLPkj(˜Gj(x;xkM;αj),K), it follows that ˜Gj(xkSj;xkM;αj)T(xkM−xkSj)≥0. Adding this last inequality to the strict inequality and multiplying by -1 yields G(xkM)T(xkSj−xkM)=CGkj<0.
Theorem 5. Let αj>αj−1>⋯>α1>0 and let zkj be the optimal value of objective function of the subproblem ~Sub−NLPkj. Then zkj≥zkj−1≥⋯≥zk1, and CGkj≥CGkj−1≥⋯≥CGk1, where CGkj=G(xkM)T(xkSj−xkM).
Proof. For any subproblem i, let xkSi solve ~Sub−NLPki(˜Gj(x;xkM;αi),K), and let zki(xkSi) be the corresponding objective value. That is, zki=G(xkM)TxkSi+αi2(xkSi−xkM)TQ(xkM)(xkSi−xkM). As xkSi+1 is another feasible solution, it follows that G(xkM)TxkSi+1+αi2(xkSi+1−xkM)TQ(xkM)(xkSi+1−xkM)≥G(xkM)TxkSi+αi2(xkSi−xkM)TQ(xkM)(xkSi−xkM). Since αi+1>αi for all j, I have G(xkM)TxkSi+1+αi+12(xkSi+1−xkM)TQ(xkM)(xkSi+1−xkM)≥G(xkM)TxkSi+αi2(xkSi−xkM)TQ(xkM)(xkSi−xkM). That is zki+1≥zki. Adding (−G(xkM)T(xkM)) in both sides, I have G(xkM)T(xkSi+1−xkM)+αi+12(xkSi+1−xkM)TQ(xkM)(xkSi+1−xkM)≥G(xkM)T(xkSi−xkM)+αi2(xkSi−xkM)TQ(xkM)(xkSi−xkM). It implies CGki+1+αi+12(xkSi+1−xkM)TQ(xkM)(xkSi+1−xkM)≥CGki+αi2(xkSi−xkM)TQ(xkM)(xkSi−xkM). When xkM solve ~Sub−NLPki+1, xkM=xkSi+1 and αi+12(xkSi+1−xkM)TQ(xkM)(xkSi+1−xkM)=0.Then, CGki+1≥CGki+αi2(xkSi−xkM)TQ(xkM)(xkSi−xkM)≥CGki.
With Theorem 4, the stopping condition can be defined by CGkj=G(xkM)T(xkSj−xkM). In addition, it should be noted that the SD-VI-mNCG can be easily reduced to SD-NLP-mNCG for nonlinear programming by replacing the Master−VIkmNCG(G,KkmNCG) with Master−NLPk(G,KkmNCG) in the Subsection 2.3.
4.
Empirical results of SD with multiple NCG
In my implementation, the test models, the column generation algorithms, and the reference algorithm without column generation are coded into GAMS programs, executed on a PC with Intel Processor (12th Gen Core i7-12700, 2100 Mhz, 12 Core(s), 20 Logical Processors and 16 GB RAM. The reference algorithm is a relaxation algorithm [29] by which the test models are solved so that I can have reference results for evaluating the accuracy and speed of the column generation algorithms. The master problem is also solved by the same relaxation algorithm. Each iteration of the relaxation algorithm is a nonlinear programming (NLP) calculation. For all models solved by SD-VI method, in the first subproblem at step k = 1, the initial values of G(x1M) and αj are arbitrarily set to 10 and 0, respectively, which produces first proposals that ignore the nonlinear column generation component. In the relaxation method for the reference calculations, the first NLP also has the initial values of all xM are set to 10.
For all column generation calculations, I set the convergence tolerance ε=0.000001, except where noted. The relaxation iterations of the restricted master problems and the reference method, and all subproblems, except subproblems with αj=0, are solved by CONOPT 3 called from GAMS. The subproblems with αj=0 are linear programs that are solved by CPLEX. It should be noted that the SD-VI-mNCG with αj=0 reduces to the SD-VI method of [26]. The SD-VI-mNCG with one NCG and αj=0.5 reduces to the SD-VI-NCG method of [28].
In the calculations, many similar optimization problems are solved repeatedly: The subproblem, a sequence of optimization problems related to the restricted master problem, and another related to the reference algorithm; except for the first time, each time an optimization calculation is done, it is started from the last solution in order to reduce computation time. This process is not used in the multiple column generation method since I assume that each nonlinear column generation subproblem is implemented in a server individually and all these subproblems are solved in parallel.
To summarize, even if a column generation algorithm takes more time than no column generation algorithm (the relaxation algorithm), there can be an advantage to a column generation approach, in model development. However, if column generation takes a very large amount of time, then such an advantage might not be worthwhile. Therefore, I am interested in tests that measure the time of column generation, compared with no column generation, and in variants of multiple column generation algorithms that may run in shorter times.
4.1. A simple example (NEW)
An example is Example 2 of Nagurney and Dhanda [30], a VI problem of a multiproduct multipollutant oligopolistic market model (MMOM-VI) with ambient-based pollution permits and transaction costs. In this model, m firms or sources of pollution, r pollutants emitted by the firms, and n receptor points exist. I also let eti be the amount of pollutant t emitted by firm i, ltij be the number of licenses for pollutant t at receptor point j held by firm i, lt0ij be the initial allocation of licenses made by a regulatory agency and ptj be the price of the licenses for pollutant t that affects receptor point j.
The cost of purchasing licenses for specific pollutant t that affects receptor point j for source i is given by ∑nj=1pt∗j(ltij−lt0ij), where pt∗j is the market clearing price determined by the VI.
Each firm i in the oligopoly is faced with cost fi for producing the vector of quantities qi, where
where ∑mi=1l0tij is the environmental quality standard, and htij denotes the contribution of one unit of emission by source i to the average pollutant concentration of type t at receptor point j. All the parameters and the reference results can be found in the online appendix of [30]. For convenience, they are given in the Appendix of the current paper.
Similarly, I adopt Q(xM)=diag∇G(xM). That is, let xM=(qidM,etiM,ltijM), and I have
which is added to the subproblem and the K=Kq,e,l.
Table 1 summarises the performance of SD-VI-NCG(x) and SD-VI-mNCG of MMOM-VI, in which the first column provides the names of the models. Ref_method is the reference method, which is the relaxation algorithm. SD-VI-NCG(α/2) is the method of simplicial decomposition with one NCG of α/2. For instance, SD-VI-NCG(0.5) is the SD-VI-NCG with α/2=0.5. The last two rows of Table 1 present the performance of SD-VI-mNCG. I use m = 3, 5 to represent how many NCG subproblems are used. For example, SD-VI-3NCG(0.1, 0.3, 0.5) consists of three subproblems with α/2 = 0.1, 0.3, and 0.5. It is interesting that all two SD-VI-mNCG methods use the smallest number of decomposition steps, 7. However, there is no conclusive result in terms of computational performance. The last column of Table 1 shows the stopping condition mentioned in Theorem 5 that the SD-VI was terminated by the subproblem with the largest value of α/2.
Table 1.
Performance of SD-VI-NCG(x) and SD-VI-mNCG of MMOM-VI.
* It is considered that all subproblems are solved in parallel, and the greatest iterative solution time of a subproblem is used to calculate the total solution time of subproblems. Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second; Stopped by NCG = the SD-VI terminated by the subproblem with the corresponding value of α/2.
Since the SD method is usually used for solving transportation network equilibrium problems, I use this kind of problems to develop test model. A large-scale real transportation network equilibrium problem is used1. The network of this problem represents the extra-urban area of the city of Arezzo (Italy). It consists of 213 nodes, 598 arcs and 2423 O/D pairs. The form of the link (i,j) cost functions is asymmetric:
G(xij)= Link travel time (i,j), from node i to j,fij= free flow time of the link(i,j),cij= capacity of the link(i,j),d=symmetricfactor=0.5,a,b,p= constant.
The objective function of the subproblem, ~Sub−NLPkj(˜Gj(x;xk−1M;αj),K), is
G(xkM)Tx+αj2(x−xkM)TQ(xkM)(x−xkM),
where I adopt Q(xkM)=diag∇G(xkM). That is,
Q(xkM)=b∗fij∗pc∗(xkM,ij+d∗xkM,jic)p−1,
with different αj, I can have different nonlinear column generation subproblems.
We first provide the computational performance results of SD-NLP with multiple NCG, and then the results of SD-VI with multiple NCG. For having SD-NLP test model, I set the asymmetric factor d = 0.
4.3. Performance of SD with multiple NCG for NLP (was 4.2)
In this subsection, I report the solution time of simplicial decomposition with one NCG subproblem of NLP. Table 2 summarises the computational performance of SD-NLP-NCG, in which the first column provides the names of the models. SD-NLP-NCG(α/2) is the method of simplicial decomposition with one NCG of α/2. For instance, SD-NLP-NCG(0.5) is the SD-NLP-NCG with α/2=0.5. Hence, SD-NLP-NCG(0) is the simple SD-NLP with LP subproblem, and SD-NLP-NSD(0.5) is the one in Larsson et al. [28]. From Table 2, the empirical result shows that the decomposition steps taken by SD-NLP is 87, which is expected and much higher than any SD-NLP-NCG methods with α/2=0.1,0.2,0.3,0.4,0.5,and1.0. The range of the decomposition steps is 8 to 22. The SD-NLP-NCG with α/2 = 0.4 provides the best performance in terms of the number of decomposition steps, 8. However, there is no clear relationship between the number of decomposition steps and the total solution time while changing the value of α. On the other hand, the fastest method is SD-NLP-NCG(0) because its subproblem is an LP solved by CPLEX, which is one of the fastest LP solvers. It is noted that SD-NLP-NCG(0) is a simple SD-NLP, and it takes more time to solve its master NLP problem comparing with other methods with different values of α. It implies that SD-NLP-NCG(0) may not be the fastest if a larger model incurs a larger number of generated columns in the master problem.
Table 2.
Computational performance of SD-NLP-NCG and SD-NLP-mNCG.
* Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second.
The last three rows of Table 2 present the performance of SD-NLP-mNCG. I use m = 3, 5, and 10 to represent how many NCG subproblems are used. For example, SD-NLP-3NCG(0.1, 0.3, 0.5) consists of three subproblems with α/2 = 0.1, 0.3, and 0.5. All three SD-NLP-mNCG methods use fewer decomposition steps, as expected, than SD-NLP-NCG. It is interesting that all three SD-NLP-mNCG methods use 6 decomposition steps, which may imply that computational performance of SD-NLP-mNCG does not rely on the number of subproblems.
4.4. Performance of SD with multiple NCG for VI (was 4.3)
In this subsection, I report the solution time of simplicial decomposition of VI with one NCG subproblem, which is similar to the one in Larsson et al. [28]. Table 3 summarizes the computational performance of SD-VI-NCG(x). This empirical result shows that the SD-VI-NSD with α/2 = 0.3 provides the best performance in terms of the number of decomposition steps, 13. It is expected that the number of decomposition steps of SD-VI-NSD(α/2)is much smaller than that of SD-VI, 152, as discussed in Larsson et al. [28]. Like the SD-NLP-NCG results, there is no clear relationship between the number of decomposition steps and the total solution time while changing the value of α. On the other hand, the fastest method is SD-VI because its subproblem is an LP solved by CPLEX. It is noted that SD-VI takes more time to solve its master VI problem. It implies that SD-VI may not be the fastest if a larger model incurs a larger number of generated columns in the master problem.
Table 3.
Computational performance of SD-VI-NCG(x).
* Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second.
Table 4 reports the solution time of simplicial decomposition with multiple NCG subproblems (SD-VI-mNCG). That is, in each iteration of the SD-VI, there are a number of NCG subproblems with different values of α/2. I first use three NCG subproblems for my test model. Table 4 summarises the computational performance of SD-VI-3NCG with nine sets of α/2. For example, SD-VI-3NCG (0.1, 0.2, 0.3) consists of three subproblems with α/2 = 0.1, 0.2, and 0.3. As expected, on average, SD-VI-3NCG uses fewer decomposition steps than SD-VI-NSD. The range of decomposition steps of SD-VI-3NCG is 11 to 13, while SD-VI-NCG is 13 to 23 shown in Table 3. Moreover, it is observed that the number of decomposition steps exploited in SD-VI-3NCG is more stable. I further use five NCG subproblems, with α/2 = 0.1, 0.2, 0.3, 0.4, and 0.5, (SD-VI-5NCG(0.1, …, 0.5)), the resulting decomposition steps is 13, in the range of 11–13. 11 decomposition steps are also used in ten NCG subproblems with α/2 = 0.1, 0.2, …, and 1.0, (SD-VI-5NCG(0.1, …, 0.5)).
Table 4.
Computational performance of SD-VI-mNCG, m = 3, 5, and 10.
Methods
Dstep
Time(M)
Time(S)*
Time(T)
Stopped by NCG
SD-VI-3NCG(0.1, 0.2, 0.3)
12
2.555
378.484
381.039
NCG(0.3)
SD-VI-3NCG(0.1, 0.2, 0.4)
12
2.686
383.442
386.108
NCG(0.4)
SD-VI-3NCG(0.1, 0.2, 0.5)
12
2.461
556.939
559.400
NCG(0.5)
SD-VI-3NCG(0.1, 0.3, 0.4)
13
2.964
380.704
383.668
NCG(0.4)
SD-VI-3NCG(0.1, 0.3, 0.5)
12
2.824
506.611
509.435
NCG(0.5)
SD-VI-3NCG(0.1, 0.4, 0.5)
12
2.487
308.468
310.955
NCG(0.5)
SD-VI-3NCG(0.2, 0.3, 0.4)
12
2.842
409.687
412.529
NCG(0.4)
SD-VI-3NCG(0.2, 0.3, 0.5)
11
2.533
448.810
451.343
NCG(0.5)
SD-VI-3NCG(0.2, 0.4, 0.5)
11
2.584
503.531
506.115
NCG(0.5)
SD-VI-3NCG(0.3, 0.4, 0.5)
13
2.273
585.607
587.880
NCG(0.5)
SD-VI-5NCG(0.1, …, 0.5)
11
2.560
441.654
444.214
NCG(0.5)
SD-VI-10NCG(0.1, …, 1.0)
11
2.901
2004.108
2007.009
NCG(1.0)
* It is considered that all subproblems are solved in parallel, and the greatest iterative solution time of a subproblem is used to calculate the total solution time of subproblems. Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second; Stopped by NCG = the SD-VI terminated by the subproblem with the corresponding value of α/2.
Remarks on using the CONOPT solver: Solvers, the MINOS and the PATHNLP cannot find the solution after 8 hours. The CONOPT solver can obtain solutions within an hour in all cases. When the CONOPT solver generates a "feasible" solution to the subproblem, not an optimal solution, in particular, in the first few iterations, the corresponding CG cannot be used for the stopping criterion.
In implementing the multiple subproblem cases, there are two phases. The first phase is to allow a few subproblems to generate infeasible, feasible, or optimal solutions due to the capacity of CONOPT. When any subproblem generates an infeasible solution in an iteration, I use its previous solution obtained from the previous iteration to substitute this infeasible solution. By doing so, a set of feasible solutions can be obtained in each iteration until all subproblems obtain their optimal solutions and thereafter, which is the second phase and follows my theoretical results.
4.5. Re-optimization performance (was 4.4)
For studying the re-optimization performance of the SD-VI-mNCG, the asymmetric parameter d of the test model (see Subsection 4.1) is changed to 0.6 from 0.5. There are three approaches, SD-VI_(0.6), Final_soln(0.5)_(0.6), and All_soln(0.5)_(o.6), to re-optimization analysis of different multi-subproblem methods.
(1) SD-VI_(0.6): Use the exiting coding of SD-VI-NCG(x), where x = 0, 0.1, 0.3, 0.5, and 1.0, with new d = 0.6, as reference result.
(2) Final_soln(0.5)_0.6: Use the previous final solution obtained from d = 0.5 as the feasible starting point to run the re-optimization process for the model with new d = 0.6.
(3) All_soln(0.5)_(0.6): Use all previous proposals with d = 5 to start the re-optimization process with new d = 0.6.
Table 5 summarizes the computational results. As expected, Approach 3, All_soln(0.5)_(0.6), used the smallest decomposition steps in all methods. With Approach 3, the decomposition steps of SD-VI-5NSD is 8, which is smaller than the decomposition steps of SD-VI-NSD(x), ranging from 10 to 23.
Table 5.
Re-optimization performance of SD-VI-NCG(x) and SD-VI-5NCG.
4.6. A comparison summary of the method SD-VI-mNCG, SD-VI, and SD-VI-NCG
Table 6 summarized the performance of the method SD-VI-mNCG, the SD-VI of Lawphongpanich and Hearn [26], and the SD-VI-NCG(0.5) of Larsson et al. [28]. In terms of column generation steps, SD-VI-mNCG is always smaller than SD-VI and SD-NCG. In terms of computational performance, for the model MMOM, the methods with NCG are faster than the SD-VI. However, SD-VI is the fastest method for the model Arezzo. As mentioned above, SD-VI takes more time to solve its master VI problem. It implies that SD-VI may not be the fastest if a larger model incurs a larger number of generated columns in the master problem. In short, solving multiple subproblems in each SD step can reduce the number of iterations. There is no conclusive result for the computational performance. Similar performance results are found in the re-optimization processes.
Table 6.
Comparison of the performance of SD-VI-mNCG, SD-VI, and SD-VI-NCG.
The simple example of a multiproduct multipollutant oligopolistic market model in Subsection 4.1 and the application of transportation network equilibrium problems in Subsection 4.2 are practical examples of directly applying the SD-VI-mNCG to the problem. Indeed, the SD-VI-mNCG can be used in some combined methods that solve part of the problems. For example, Sharma et al. [31] developed a method combining the simplicial decomposition, gauss-seidel, and the augmented Lagrangian to solve the coordination problem of the optimal power and traffic flows with EVs. Wang et al. [32] employed SD in their combined method to have a parallel decentralized solution for multi-regional unit commitment with convex AC power flow constraints. It should be noted that the constraint sets of SD-VI-mNCG can be convex constraint sets. In addition, the SD-VI-mNCG can also be employed to solve stochastic transportation problems [28].
5.
Conclusions and further research
In this paper, I derive a simplicial decomposition with multiple nonlinear column generation subproblems, which can be applied to nonlinear programming and variational inequalities. I provide convergence properties and derive new stopping condition.
From the computational performance, I generally conclude that for solution methods, simplicial decomposition of variational inequalities with multiple nonlinear column generation subproblems (SD-VI-mNCG), can perform better than the simplicial decomposition of variational inequalities (SD-VI) and the SD-VI with a nonlinear column generation subproblem (SD-VI-NCG) in terms of decomposition steps. The number of column generation steps is greatly reduced, and the long-tail convergence property of SD-VI is alleviated. The same conclusion can be applied to nonlinear programming.
Concerning the selection of the number of subproblems, m, the empirical results show that 3 to 5 is fine.
Concerning the selection of the values αj, I use (αj/2) = 1/2 as the reference value by which the subproblem becomes diagonalized Newton algorithm. This approach may be beneficial in other column generation schemes, like Dantzig-Wolfe decomposition of VI, which is one of further research directions. Moreover, employing SD-VI-mNCG for different kind of VI problems, like large-scale energy equilibrium problems, can be another research direction.
On the other hand, since there is no conclusive result for the computational performance, it is worthwhile to consider the computational performance as one of the further research topics. For instance, I may not need to wait for all subproblems to be solved to move on to the next SD step. The calculation framework can be one master problem to m subproblems until one of the subproblems solves the VI problem.
Use of AI tools declaration
The author declares that they have not used Artificial Intelligence (AI) tools in the creation of this article.
Acknowledgments
Financial support for William Chung's work came from the Research Grants Council of Hong Kong S.A.R., China (CityU 11500022).
Conflict of interest
The author declares no conflicts of interest.
Appendix
Parameters and reference results of MMOM-VI.
For cost function, fi=fi(qi)=∑sd=1[cidqid+βidβid+1K−1/βididq(βid+1)/βidid]:
cid
Kid
βid
d1
d2
d1
d2
d1
d2
i1
2
5
5
4
1.2
1.9
i2
6
7
3
6
1.9
1.8
i3
4.9
6.4
2
4
2.5
2.1
For joint-cost function, gi=gi(ei,qi)=∑rt=1[g1it(eti)2+g2iteti+g4it]+∑sd=1g3itqid:
g1it
g2it
g4it
g3id
t1
t2
t1
t2
t1
t2
d1
d2
i1
1.4
1.8
-10
-20
10
14
1.5
1.5
i2
1.4
2.7
-15
-5
5
15
3.5
2.5
i3
1.7
2.3
-5
-10
6
2
4.1
3.1
For transaction cost function, ctij=ctij(ltij)=∅1ijt(ltij)2+∅2ijtltij+αijt:
j1.t1
j1.t2
j2.t1
j2.t2
∅1ijt
i1
0.09
0.05
0.05
0.01
i2
0.03
0.04
0.09
0.05
i3
0.07
0.04
0.03
0.06
∅2ijt
i1
-7
-8
-1
-5
i2
-8
-7
-5
-8
i3
-5
-1
-8
-3
αijt
i1
0.004
0.009
0.005
0.005
i2
0.002
0.006
0.003
0.006
i3
0.004
0.007
0.006
0.009
For the price functions of product d: ρd=ρd(∑mi=1qid), ρd=5000.
For constraints ltij−htijeti≥0:
j1.t1
j1.t2
j2.t1
j2.t2
htij
i1
0.09
0.05
0.05
0.01
i2
0.03
0.04
0.09
0.05
i3
0.07
0.04
0.03
0.06
For ∑mi=1l0tij−∑mi=1ltij≥0, l0tij=3.
Reference results are generated by PIES without a decomposition algorithm:
eti
qid
ltij
t1
t2
d1
d2
j1.t1
j1.t2
j2.t1
j2.t2
i1
0
1.439
71.768
83.500
0
7.291
0
7.197
i2
4.815
0.171
55.595
61.952
8.490
1.709
2.407
1.803
i3
0.304
0
67.514
61.687
0.510
0
6.593
0
References
[1]
E. Çelebi, J. David Fuller, Master problem approximations in Dantzig-Wolfe decomposition of variational inequality problems with applications to two energy market models, Comput. Oper. Res., 40 (2013), 2724–2739. https://doi.org/10.1016/j.cor.2013.05.012 doi: 10.1016/j.cor.2013.05.012
[2]
F. Murphy, A. Pierru, Y. Smeers, A tutorial on building policy models as mixed-complementarity problems, Interfaces, 46 (2016), 465–481. https://doi.org/10.1287/inte.2016.0842 doi: 10.1287/inte.2016.0842
[3]
W. Chung, Approximate Dantzig-Wolfe decomposition to solve a class of variational inequality problems with an illustrative application to electricity market models, Expert Syst. Appl., 118 (2019), 140–151. https://doi.org/10.1016/j.eswa.2018.09.043 doi: 10.1016/j.eswa.2018.09.043
[4]
E. Bettiol, L. Létocart, F. Rinaldi, E. Traversi, A conjugate direction based simplicial decomposition framework for solving a specific class of dense convex quadratic programs, Comput. Optim. Appl., 75 (2020), 321–360. https://doi.org/10.1007/s10589-019-00151-4 doi: 10.1007/s10589-019-00151-4
[5]
D. Uciński, Construction of constrained experimental designs on finite spaces for a modified E-optimality criterion, Int. J. Appl. Math. Comp., 30 (2020), 659–677. https://doi.org/10.34768/amcs-2020-0049 doi: 10.34768/amcs-2020-0049
[6]
M. Guignard, A. Ahlatcioglu, The convex hull heuristic for nonlinear integer programming problems with linear constraints and application to quadratic 0–1 problems, J. Heuristics, 27 (2021), 251–265. https://doi.org/10.1007/s10732-019-09433-w doi: 10.1007/s10732-019-09433-w
[7]
P. Delle Site, Pricing of connected and autonomous vehicles in mixed-traffic networks, Transport. Res. Rec., 2675 (2021), 178–192. https://doi.org/10.1177/0361198120985850 doi: 10.1177/0361198120985850
[8]
M. Morabit, G. Desaulniers, A. Lodi, Machine-learning-based column selection for column generation, Transport. Sci., 55 (2021), 815–831. https://doi.org/10.1287/trsc.2021.1045 doi: 10.1287/trsc.2021.1045
[9]
L. Nazareth, Numerical behavior of LP algorithms based upon the decomposition principle, Linear Algebra Appl., 57 (1984), 181–189. https://doi.org/10.1016/0024-3795(84)90186-1 doi: 10.1016/0024-3795(84)90186-1
[10]
J. Nazareth, Computer solution of linear programs, New York: Oxford University Press, 1987.
[11]
J. Ho, Convergence behavior of decomposition algorithms for linear programs, Oper. Res. Lett., 3 (1984), 91–94. https://doi.org/10.1016/0167-6377(84)90048-8 doi: 10.1016/0167-6377(84)90048-8
[12]
M. Lübbecke, J. Desrosiers, Selected topics in column generation, Oper. Res., 53 (2005), 1007–1023. https://doi.org/10.1287/opre.1050.0234 doi: 10.1287/opre.1050.0234
[13]
G. Dantzig, Linear programming and extensions, Santa Monica: RAND Corporation, 1963. https://doi.org/10.7249/R366
[14]
E. Beale, P. Hughes, R. Small, Experiences in using a decomposition program, Comput. J., 8 (1965), 13–18. https://doi.org/10.1093/comjnl/8.1.13 doi: 10.1093/comjnl/8.1.13
[15]
F. Murphy, Column dropping procedures for the generalized programming algorithm, Manage. Sci., 19 (1973), 1310–1321. https://doi.org/10.1287/mnsc.19.11.1310 doi: 10.1287/mnsc.19.11.1310
[16]
R. O'Neill, Technical note-column dropping in the Dantzig-Wolfe convex programming algorithm: computational experience, Oper. Res., 25 (1977), 148–155. https://doi.org/10.1287/opre.25.1.148 doi: 10.1287/opre.25.1.148
[17]
R. Marsten, W. Hogan, J. Blankenship, The boxstep method for Large-scale optimization, Oper. Res., 23 (1975), 389–405. https://doi.org/10.1287/opre.23.3.389 doi: 10.1287/opre.23.3.389
[18]
T. Larsson, M. Patriksson, Simplicial decomposition with disaggregated representation for the traffic assignment problem, Transport. Sci., 26 (1992), 4–17. https://doi.org/10.1287/trsc.26.1.4 doi: 10.1287/trsc.26.1.4
[19]
W. Chung, J. Fuller, Y. Wu, A new decomposition method for multiregional economic equilibrium models, Oper. Res., 54 (2006), 643–655. https://doi.org/10.1287/opre.1060.0274 doi: 10.1287/opre.1060.0274
[20]
W. Chung, J. David Fuller, Subproblem approximation in Dantzig-Wolfe decomposition of variational inequality models with an application to a multicommodity economic equilibrium model, Oper. Res., 58 (2010), 1318–1327. https://doi.org/10.1287/opre.1090.0803 doi: 10.1287/opre.1090.0803
[21]
W. Chung, Truncated Dantzig-Wolfe decomposition for a class of constrained variational inequality problems, Comput. Econ., in press. https://doi.org/10.1007/s10614-023-10422-2
[22]
M. Morabit, G. Desaulniers, A. Lodi, Machine-learning-based arc selection for constrained shortest path problems in column generation, INFORMS Journal on Optimization, 5 (2022), 191–210. https://doi.org/10.1287/ijoo.2022.0082 doi: 10.1287/ijoo.2022.0082
[23]
S. Kraul, M. Seizinger, J. Brunner, Machine learning–supported prediction of dual variables for the cutting stock problem with an application in stabilized column generation, INFORMS J. Comput., 35 (2023), 692–709. https://doi.org/10.1287/ijoc.2023.1277 doi: 10.1287/ijoc.2023.1277
[24]
Y. Dirickx, L. Jennergren, Systems analysis by multilevel methods, New York: Wiley, 1979.
[25]
P. Harker, J. Pang, Finite-dimensional variational inequality and nonlinear complementarity problems: a survey of theory, algorithms and applications, Math. Program., 48 (1990), 161–220. (1990). https://doi.org/10.1007/BF01582255 doi: 10.1007/BF01582255
[26]
S. Lawphongpanich, D. Hearn, Simplical decomposition of the asymmetric traffic assignment problem, Transport. Res. B-Meth., 18 (1984), 123–133. https://doi.org/10.1016/0191-2615(84)90026-2 doi: 10.1016/0191-2615(84)90026-2
[27]
J. David Fuller, W. Chung, Dantzig-Wolfe decomposition of variational inequalities, Comput. Econ., 25 (2005), 303–326. https://doi.org/10.1007/s10614-005-2519-x doi: 10.1007/s10614-005-2519-x
[28]
T. Larsson, M. Patriksson, C. Rydergren, Applications of simplicial decomposition with nonlinear column generation to nonlinear network flows, In: Network optimization, Berlin: Springer, 1997,346–373. https://doi.org/10.1007/978-3-642-59179-2_17
[29]
S. Dafermos, Relaxation algorithms for the general asymmetric traffic equilibrium problem, Transport. Sci., 16 (1982), 231–240. https://doi.org/10.1287/trsc.16.2.231 doi: 10.1287/trsc.16.2.231
[30]
A. Nagurney, K. Dhanda, Marketable pollution permits in oligopolistic markets with transaction costs, Oper. Res., 48 (2000), 424–435. https://doi.org/10.1287/opre.48.3.424.12429 doi: 10.1287/opre.48.3.424.12429
[31]
S. Sharma, Q. Li, W. Wei, An enhanced SD-GS-AL algorithm for coordinating the optimal power and traffic flows with EVs, IEEE Trans. Smart Grid, in press. https://doi.org/10.1109/TSG.2024.3358805
[32]
Z. Wang, G. Li, Y. Xiao, S. Tang, M. Teng, A parallel decentralized solution for multi-regional unit commitment with convex AC power flow constraints, Proceedings of 7th Asia Conference on Power and Electrical Engineering (ACPEE), 2022, 1364–1373. https://doi.org/10.1109/ACPEE53904.2022.9783909 doi: 10.1109/ACPEE53904.2022.9783909
* It is considered that all subproblems are solved in parallel, and the greatest iterative solution time of a subproblem is used to calculate the total solution time of subproblems. Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second; Stopped by NCG = the SD-VI terminated by the subproblem with the corresponding value of α/2.
* Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second.
* Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second.
Table 4.
Computational performance of SD-VI-mNCG, m = 3, 5, and 10.
Methods
Dstep
Time(M)
Time(S)*
Time(T)
Stopped by NCG
SD-VI-3NCG(0.1, 0.2, 0.3)
12
2.555
378.484
381.039
NCG(0.3)
SD-VI-3NCG(0.1, 0.2, 0.4)
12
2.686
383.442
386.108
NCG(0.4)
SD-VI-3NCG(0.1, 0.2, 0.5)
12
2.461
556.939
559.400
NCG(0.5)
SD-VI-3NCG(0.1, 0.3, 0.4)
13
2.964
380.704
383.668
NCG(0.4)
SD-VI-3NCG(0.1, 0.3, 0.5)
12
2.824
506.611
509.435
NCG(0.5)
SD-VI-3NCG(0.1, 0.4, 0.5)
12
2.487
308.468
310.955
NCG(0.5)
SD-VI-3NCG(0.2, 0.3, 0.4)
12
2.842
409.687
412.529
NCG(0.4)
SD-VI-3NCG(0.2, 0.3, 0.5)
11
2.533
448.810
451.343
NCG(0.5)
SD-VI-3NCG(0.2, 0.4, 0.5)
11
2.584
503.531
506.115
NCG(0.5)
SD-VI-3NCG(0.3, 0.4, 0.5)
13
2.273
585.607
587.880
NCG(0.5)
SD-VI-5NCG(0.1, …, 0.5)
11
2.560
441.654
444.214
NCG(0.5)
SD-VI-10NCG(0.1, …, 1.0)
11
2.901
2004.108
2007.009
NCG(1.0)
* It is considered that all subproblems are solved in parallel, and the greatest iterative solution time of a subproblem is used to calculate the total solution time of subproblems. Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second; Stopped by NCG = the SD-VI terminated by the subproblem with the corresponding value of α/2.
* It is considered that all subproblems are solved in parallel, and the greatest iterative solution time of a subproblem is used to calculate the total solution time of subproblems. Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second; Stopped by NCG = the SD-VI terminated by the subproblem with the corresponding value of α/2.
* Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second.
* Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second.
Methods
Dstep
Time(M)
Time(S)*
Time(T)
Stopped by NCG
SD-VI-3NCG(0.1, 0.2, 0.3)
12
2.555
378.484
381.039
NCG(0.3)
SD-VI-3NCG(0.1, 0.2, 0.4)
12
2.686
383.442
386.108
NCG(0.4)
SD-VI-3NCG(0.1, 0.2, 0.5)
12
2.461
556.939
559.400
NCG(0.5)
SD-VI-3NCG(0.1, 0.3, 0.4)
13
2.964
380.704
383.668
NCG(0.4)
SD-VI-3NCG(0.1, 0.3, 0.5)
12
2.824
506.611
509.435
NCG(0.5)
SD-VI-3NCG(0.1, 0.4, 0.5)
12
2.487
308.468
310.955
NCG(0.5)
SD-VI-3NCG(0.2, 0.3, 0.4)
12
2.842
409.687
412.529
NCG(0.4)
SD-VI-3NCG(0.2, 0.3, 0.5)
11
2.533
448.810
451.343
NCG(0.5)
SD-VI-3NCG(0.2, 0.4, 0.5)
11
2.584
503.531
506.115
NCG(0.5)
SD-VI-3NCG(0.3, 0.4, 0.5)
13
2.273
585.607
587.880
NCG(0.5)
SD-VI-5NCG(0.1, …, 0.5)
11
2.560
441.654
444.214
NCG(0.5)
SD-VI-10NCG(0.1, …, 1.0)
11
2.901
2004.108
2007.009
NCG(1.0)
* It is considered that all subproblems are solved in parallel, and the greatest iterative solution time of a subproblem is used to calculate the total solution time of subproblems. Dstep = decomposition step; Time(M) = solution time of Master-VI in second; Time(S) = solution time of subproblem in second; Time(T) = solution time of the method in second; Stopped by NCG = the SD-VI terminated by the subproblem with the corresponding value of α/2.