• 沒有找到結果。

混合型線性規劃的計算方法

N/A
N/A
Protected

Academic year: 2021

Share "混合型線性規劃的計算方法"

Copied!
5
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會補助專題研究計畫成果報告

※※※※※※※※※※※※※※※※※※※※※※※※

※ ※

※   混合型線性規劃的計算方法      ※

※          ※

※※※※※※※※※※※※※※※※※※※※※※※※

計畫類別:þ個別型計畫  □整合型計畫

計畫編號:NSC-89-2213-E-004-004

執行期間:88 年 08 月 01 日至 89 年 07 月 31 日

計畫主持人:陸行

共同主持人:蔡瑞煌

本成果報告包括以下應繳交之附件:

□赴國外出差或研習心得報告一份

□赴大陸地區出差或研習心得報告一份

□出席國際學術會議心得報告及發表之論文各一份

□國際合作研究計畫國外研究報告書一份

執行單位:政治大學應用數學系

中 華 民 國 89 年 07 月 31 日

(2)

行政院國家科學委員會專題研究計畫成果報告

混合型線性規劃的計算方法

計畫編號:NSC 89-2213-E-004-004

執行期限:88 年 08 月 01 日至 89 年 07 月 31 日

主持人:陸行 政治大學應用數學系

共同主持人:蔡瑞煌 政治大學資訊管理學系

1. Abstract

In this paper, we present an auxiliary algorithm that, in terms of the speed of obtaining the optimal solution, is effective in helping the simplex method for commencing a better initial basic feasible solution. The idea of choosing a direction towards an optimal point presented in this paper is new and easily implemented. From our experiments, the algorithm will release a corner point of the feasible region within few iterative steps, independently of the starting point. The computational results show that after the auxiliary algorithm is adopted as phase I process, the simplex method consistently reduce the number of required iterations by about 40%.

Keywords: Linear Programming,

Interior-point-based Solution. 中文摘要 在本篇報告中,我們以求解速度的角 度呈現一輔助的運算法則,幫助單體法從 較佳的初始可行解開始求解。從實驗當 中,選擇一新且易於執行的方向,且和起 始點無關,免除在遞迴步驟計算可行解區 域的角點的目標函數值。計算結果顯示, 採納在階段 I 使用輔助運算法則,在階段 II 使用單體法,則降低所需遞迴步驟約百分 之四十。 關鍵詞:線性規劃、內點解法。

2. The Proposed Approach

Consider the following standard form of LP problem (1). In (1), xt ≡ (x1 x2 ... xn), A~ is an m×n matrix, t b ~ ≡ (b1 ~ 2 b ~ ... m b ~ ), ~ct ≡ (c1 ~ 2 c ~ ... n c ~ ), and 0 is denoted

a column vector, of appropriate dimension, with each component equals zero.

Minimize z = ~ct

x

Subject to A~ xb~ (1) x0

Let LP problem (2) be a normalization version of LP (1). That is, c ≡

c c ~ ~ , Ai≡ • • i i A A ~ ~ , and bi ≡ • i i A~ b ~ , whereAi ~ is the ith row vector of A~ and the Euclidean norm is adopted for ||⋅||. It is easy to check the sets of feasible solutions as well as the optimal solutions of both LP (1) and LP (2) are equivalent.

Minimize z = ctx

Subject to A xb (2) x0

Below, we take LP (2) as our standard form of input to illustrate the idea of the improving feasible direction in details.

h(k)≡ ∑ ∑ ∑ ∑ Ω ∈ Ω ∈ • Ω ∈ Ω ∈ • + + k k k k j j i t i j j i t i 2 1 2 1 e A e A (3) g(k) =       ≠ − − = c h c h c h c h 0 ) ( ) ( ) ( ) ( if if k k k k . (4)

(3)

    ≤ ≤ < − = , g 0, 1 n; g x min η ( ) ) ( ) ( (k) j k j k j k j    ≤ ≤ < − • • • , 0, 1 m b () ) ( ) ( i k i k i k i i g A g A x A (5)

Table 1 displays the proposed algorithm. From Lemma 2, the criterion of h(k) = c in Step 3 is a sufficient stopping criterion of the proposed algorithm. Step 5 guarantees x(k+1)

is always a boundary point of P. Theorem 1 says that the criterion in Step 6 is also a sufficient stopping criterion of the proposed algorithm. As to find an initial feasible solution of LP(2) in Step 0, we can apply the same algorithm to LP (2) with artificial variables.

Table 1. The proposed algorithm. ej is an n-dimensional unit vector with 1 for its jth

component and 0 for the rest, and Ai is the ith row of A. ε < 10

-6

, and L is a large number.

Step 0. Start with a feasible solution of LP (2), x(0). Let k = 0. Step 1. Let k 1 Ω = {i | (k) i x A = bi} and Ωk2= {j | ) ( j x k = 0}. Step 2. Calculate h(k) = ∑ ∑ ∑ ∑ Ω ∈ Ω ∈ • Ω ∈ Ω ∈ • + + k k k k j j i t i j j i t i 2 1 2 1 e A e A .

Step 3. If h(k) = c, then STOP and claim x(k) is an optimal solution. Step 4. Calculate g(k) = c h c h − − ) ( ) ( k k . Step 5. If k i∈Ω1 ∀ ( ) ≥0 • k i g A and k j∈Ω2 ∀ g( ) 0 j ≥ k , then go to Step 10.

Step 6. Calculate d = - [I -∥Ai•∥-2 Ai•tAq•] c. i ∈Ω1k & 0

) ( <k i g A Or d = t j e c c+ − . jk 2 Ω . & g(j) <0 k Step 7. Let η (k) =         Ω ∉ ≤ ≤ < − Ω ∉ ≤ ≤ < − • • • k 1 ) ( k 2 j j ) ( i m, i 1 , 0 , b ; j n, j 1 , 0 d , d x min A d d A x A i i k i i k j

Step 8. If η (k) = 0, then STOP and claim x(k) is an optimal solution. Step 9. Let x(k+1) = x(k) + η (k)d, k+1→k.Go to Step 13.

Step 10. Let η (k) =         Ω ∉ ≤ ≤ < − Ω ∉ ≤ ≤ < − • • • k k i k i k i i k j k j k j i i j 1 ) ( ) ( ) ( k 2 ) ( ) ( ) ( , m 1 , 0 , b ; j n, 1 , 0 g , g x min A g g A x A .

Step 11. If η (k) = 0, then STOP and claim x(k) is an optimal solution. Step 12. Let x(k+1) = x(k) + η (k)g(k), k+1→ k. Step 13. Let k 1 Ω = {i | (k) ix A = bi} and Ωk2= {j | ) ( j xk = 0}. Step 14. If || k 1 Ω + k 2

|| = n, then STOP and claim x(k) is a corner point feasible solution.

Step 15. If ε < η (k-1) < L, then go to Step 2.

Step 16. Let Aq be defined as composed of the row vectors of Ai• ∀ i ∈ k

1

Ω and t

j

ej∈Ωk2.

Step 17. Calculate d = -[I - Aqt(AqAqt)-1Aq]c.

(4)

        Ω ∉ ≤ ≤ < − Ω ∉ ≤ ≤ < − • • • k 1 ) ( k 2 j j ) ( i m, i 1 , 0 , b ; j n, j 1 , 0 d , d x min A d d A x A i i k i i k j Step 19. Let x(k+1) = x(k) + ηd, k+1→ k. Step 20. Let k 1 Ω = {i | (k) ix A = bi} and Ωk2= {j | ) ( j xk = 0}. Step 21. If || k 1 Ω + k 2

|| = n, then STOP and claim x(k) is a corner point feasible solution; else go to Step 16.

In order to avoid the zig-zag situation during the process, the loop of Steps 16-21 is set for determining a basic feasible solution to start the simplex method. Generally, Steps 16-21 implement the gradient projection method to obtain a corner point of feasible solution. The matrix

MI - Aqt(AqAqt)-1Aq is the project matrix

corresponding to the boundary. Action by it on any vector yields the projection of that vector onto the boundary. Since d = -Mc in Step 17, d is a feasible direction of descent on the boundary if d0. That is, we have ct x(k+1) < ctx(k), if x(k+1) (= x(k) + ηd) does not

equal x(k). Step 18 guarantees x(k+1) is always a boundary point. Before obtaining a basic feasible solution, it is easy to check there are at most n iterations in the loop of Steps 16-21.

3. Computational Results

Before we present our computational results, some remarks about the test

problems are in order. All test problems essentially were randomly generated, but were first screened by a preprocessor to remove any possible inconsistent problems. The problems were then scaled by normalizing each row of A. For each test problem, there are ten different initial points, which are picked up randomly, for the auxiliary algorithm. According to the problem size in terms of m and n of matrix

A, we report the required iterations versus

that required by the simplex method.

Table 2 shows the summary of the computational results. It shows that the auxiliary algorithm help the simplex method consistently reducing the number of required iterations by about 40%.

Table 2. The summary of the average numbers of total iterations required for the simplex

method. The numbers shown in the parenthesis is the associated standard deviation.

m n Auxiliary + Simplex Simplex

10 10 3.04 (1.01) 6 (2.89)

20 20 11.41 (4.62) 17.57 (5.38)

30 30 19.28 (7.43) 31.63 (4.50)

Here we propose an auxiliary algorithm for the simplex method. The auxiliary algorithm has the following advantages: there is no need to know the value of an optimal solution, and no special format for the problem is needed. It is a practical algorithm because its computation complexity is O(m+n). Furthermore, the

simplex method with this help can possess a better worst-case complexity bound than those without this help. Although there lacks a proof for the better global complexity for our method, we have explored its computational performance on some random test problems. The computational results show that the auxiliary algorithm

(5)

does help the simplex method consistently reducing the number of required iterations by about 40%. For future studies, we shall test it with more larger-scale problems as well as take the same test problems used in NETLIB for further comparisons.

4. Conclusion and Futur e Wor k

Here we propose an auxiliary algorithm for the simplex method. The auxiliary algorithm has the following advantages: there is no need to know the value of an optimal solution, and no special format for the problem is needed. It is a practical algorithm because its computation complexity is O(m+n). Furthermore, the simplex method with this help can possess a better worst-case complexity bound than those without this help. Although there lacks a proof for the better global complexity for our method, we have explored its computational performance on some random test problems. The computational results show that the auxiliary algorithm does help the simplex method consistently reducing the number of required iterations by about 40%. For future studies, we shall test it with more larger-scale problems as well as take the same test problems used in NETLIB for further comparisons.

5. Reference

[1] I. Adler, N. Karmarkar, M.G.C.

Resende and G. Veiga, An implementation of Karmarkar's algorithm for linear programming.

Mathematical Programming 1989; 44:

297-335.

[2] E.D. Anderson, and Yinyu Ye, Combining interior-point and pivoting algorithms for linear programming.

Management Science 1996; 42, (12):

1719-1731.

[3] K.M. Anstreicher, and P. Watteyne, A family of search directions for Karmarkar's algorithm. Operations Research 1993, 41, (4): 759-767.

[4] R.E. Bixby, J.W. Gregory, I.J. Lustig,

R.E. Marsten and D.F. Shanno, Very large-scale linear programming: A case study in combining interior point and simplex methods. Operations Research

1992, 40, (5): 885-897..

[5] S.C. Fang, and S. Puthenpura. Linear Optimization and Extensions,

Prentice-Hall, Englewood Cliffs New Jersey, USA, 1993.

[6] N. Karmarkar, A new polynomial-time

algorithm for linear programming.

Combinatorica 1984; 4: 373-395. [7] C.L. Monma, and A.J. Morton,

Computational experience with a dual affine variant of Karmarkar's method for linear programming. Operations Research Letters 1987; 6: 261-267. [8] M.J. Todd, A Dantzig-Wolfe-Like

Variant of Karmarkar's interior-point linear programming algorithm.

Operations Research 1990; 38, (6):

數據

Table 1 displays the proposed algorithm. From  Lemma  2,  the  criterion  of  h (k)   =  c  in Step 3 is a sufficient stopping criterion of the proposed  algorithm
Table  2.  The  summary  of  the  average  numbers  of  total  iterations  required  for  the  simplex

參考文獻

相關文件

了⼀一個方案,用以尋找滿足 Calabi 方程的空 間,這些空間現在通稱為 Calabi-Yau 空間。.

Real Schur and Hessenberg-triangular forms The doubly shifted QZ algorithm.. Above algorithm is locally

In this chapter we develop the Lanczos method, a technique that is applicable to large sparse, symmetric eigenproblems.. The method involves tridiagonalizing the given

volume suppressed mass: (TeV) 2 /M P ∼ 10 −4 eV → mm range can be experimentally tested for any number of extra dimensions - Light U(1) gauge bosons: no derivative couplings. =&gt;

• Formation of massive primordial stars as origin of objects in the early universe. • Supernova explosions might be visible to the most

Like the proximal point algorithm using D-function [5, 8], we under some mild assumptions es- tablish the global convergence of the algorithm expressed in terms of function values,

The difference resulted from the co- existence of two kinds of words in Buddhist scriptures a foreign words in which di- syllabic words are dominant, and most of them are the

(Another example of close harmony is the four-bar unaccompanied vocal introduction to “Paperback Writer”, a somewhat later Beatles song.) Overall, Lennon’s and McCartney’s