Articles | Volume 15, issue 1
https://doi.org/10.5194/ms-15-183-2024
https://doi.org/10.5194/ms-15-183-2024
Research article
 | 
19 Mar 2024
Research article |  | 19 Mar 2024

Improved strategies of the Equality Set Projection (ESP) algorithm for computing polytope projection

Binbin Pei, Wenfeng Xu, and Yinghui Li
Abstract

​​​​​​​This paper proposes an optimization method for the Equality Set Projection algorithm to compute the orthogonal projection of polytopes. However, its computational burden significantly increases for the case of dual degeneracy, which limits the application of the algorithm. Two improvements have been proposed to solve this problem for the Equality Set Projection algorithm: first, a new criterion that does not require a discussion of the uniqueness of the solution in linear programming, which simplifies the algorithm process and reduces the computational cost; and second, an improved method that abandons the calculation of a ridge's equality set to reduce the computational burden in the case of high-dimensional dual degeneracy.

1 Introduction

Orthogonal projection is valuable for both theoretical research (Kwan et al.2022; Xu and Guo2021) and engineering applications (Xia et al.2021; Liu et al.2023), particularly as a basic operator for polytopes, which are a type of geometric structure composed of flat boundaries and giving a good representation of linear constraints on variables. The orthogonal projection of polytopes is extensively applied in the field of control and optimization (Borrelli et al.2017; Lee and Kouvaritakis2000; Sadeghzadeh2018). For example, the calculations of the Minkowski sum (Teissandier and Delos2011), controllable set (Vincent and Wu1990), reachable set (Rakovic et al.2006), and parametric linear program (Jones et al.2008) can all be transformed into the projection of polytopes.

Traditional projection algorithms can be grouped into three classes, i.e., Fourier elimination (Keerthi and Sridharan1990; Saraswat and Hentenryck1995), block elimination (Balas1998; Fukuda and Prodon1996), and vertex enumeration (Avis1998). The former two algorithms require expensive computation and produce a lot of redundant inequalities. The third algorithm is suitable for polytopes with fewer vertices; however, the number of vertices of a high-dimensional polytope exceeds the number of half-spaces. Thus, it is not an efficient algorithm for the high-dimensional cases.

The Equality Set Projection (ESP) algorithm was proposed in Jones et al. (2004), and it applies the inspiration of the gift-wrapping algorithm to the projection calculation. Under the condition of non-degeneracy, the complexity of ESP is linear in the number of half-spaces, which offers a tremendous advantage compared to the traditional projection algorithms. However, in the case of dual degeneracy, the computation grows exponentially.

Dual degeneracy is a frequently encountered phenomenon in control applications. For instance, when variables have constant maximum and minimum constraints, the occurrence of dual degeneracy is more likely. Unfortunately, this limitation curtails the wider application of ESP algorithms in the control field. Therefore, the primary motivation behind enhancing the ESP method is to improve its performance under dual-degeneracy conditions. We propose a novel criterion based on the non-zero rows of the null-space matrix to address the issue of discussing the uniqueness of solutions under such conditions. Furthermore, we introduce an improved strategy that eliminates the need to search for equation sets under dual-degeneracy conditions. These two advancements render the ESP algorithm more concise, efficient, and easily implementable. Consequently, the algorithm's performance in the situations involving dual degeneracy has been significantly enhanced, which paves the way for further promotion and application of ESP in engineering practices.

The paper is organized as follows. The preliminary knowledge and the workflow of the original ESP algorithm are introduced in Sect. 2. The two proposed improvement strategies are given in Sects. 3 and 4. Numerical simulation comparisons between the original ESP and the improved ESP are reported in Sect. 5, and final conclusions given in Sect. 6.

2 Preliminaries and existing results

2.1 Definitions and notation

  • 1.

    A polytope is a bounded polyhedron defined by the intersection of closed half-spaces. Let P equal (x,y)Rd×Rk|Cx+Dyb; the orthogonal projection of P onto x space is defined as

    πd(P)=xRd|yRk,(x,y)P.
  • 2.

    f is a face of the polytope PRd×Rk if there exists a hyperplane (x,y)cTx+dTy=b, where cRd, dRk, and bR such that

    f=P(x,y)Rd×Rk|cTx+dTy=b

    and cTx+dTyb for all (x,y)P. The face of the polytope PRd×Rk refers to the face of dimension n−1, whereas the ridge refers to the face of dimension n−2.

  • 3.

    The affine hull of every face of the polytope is

    afff=(x,y)Rd×Rk|cTx+dTy=b.
  • 4.

    If A is a matrix and E1,,q, then AE is a matrix formed by rows of A whose indices are in E. If P is a polytope, then the notation PE refers to the set PE=PzCEx+DEy=bE.

  • 5.

    E is an equality set of P if and only if E=G(E), where

    G(E)=i1,,q|Cix+Diy=bi,(x,y)PE.
  • 6.

    N(A) is defined as a matrix whose columns form an orthonormal basis for the null space of A.

2.2 Auxiliary results

The following results can be found in Jones (2005), Ziegler (1995), Webster (1994), and Balas and Oosten (1998), respectively. Their proofs are omitted for the sake of brevity.

Theorem 2.1 (Jones2005) Given a polytope

P=(x,y)Rd×Rk|Cx+Dyb,

if E is an equality set of P, then PE is a face of P. Furthermore, if F is a face of P, then there exists a unique equality set such that F=PE.

Proposition 2.1 (Ziegler1995) If PRd×Rk is a polytope, then the projection of P onto Rd is a polytope.

Proposition 2.2 (Webster1994) If F1,,Ft are facets of a polytope P=zRn|Azb, affFi=zRn|aiTz=bi, where each aiRn, biR, then

P=affPxRna1TatTxb1bt.

Proposition 2.3 (Ziegler1995) If PRd×Rk is a polytope, then for every face F of πd(P), the pre-image πd-1(F) is a face of P.

Proposition 2.4 (Jones2005) If M=(x,y)Rd×Rk|CEx+DEy=bE is a affine set, then the projection of M onto Rd is

πd(M)=xRdNDETTCEx=NDETTbE.

Proposition 2.5 (Balas and Oosten1998) If E is an equality set of polytope

P=(x,y)Rd×Rk|Cx+Dyb,

then dimπd(PE)=dimPE-k+rankDE.

2.3 Original ESP algorithm

We introduce the workflow of the original ESP algorithm in this subsection. A brief introduction is given here, and the details can be found in Jones (2005).

The algorithm is initialized by discovering a random facet Fπ in πd(P). Then we compute all ridges contained in the initial facet and search all facets adjacent to it through each ridge. Subsequently, we compute all the ridges of each new facet and let the iterating process continue until all the ridges appear twice. According to the property of the polytope, each ridge exactly connects to two facets. Therefore, all facets of πd(P) can be found by this iteration. From Proposition 2.2, we finally get πd(P)=xRdGxg.

The ESP algorithm consists of three key oracles as given below. Shooting Oracle:

Ef0,af,bf=SHOOT(P).

Ridge Oracle:

LEr=RDGEf,af,bf.

Adjacency Oracle:

Eadj,aadj,badj=ADJEf,af,bfEr,ar,br.

The SHOOT oracle randomly obtains an equality set Ef0 of P satisfying πdPEf0=x|afTx=bfπd(P) as a facet of πd(P), the RDG oracle returns all ridges contained in the facet Ef,af,bf of πd(P), and the ADJ oracle takes two equality sets Er and Ef of P and returns the unique equality set Eadj, where πdPEf=x|afTx=bfπd(P) is a facet of πd(P) and πdPEr=x|arTx=brπdPEf is a ridge of πd(P) with πdPErπdPEf.

2.3.1 Outline of the ESP algorithm

Step 1. Get an initial facet Ef0,af,bf of P: Ef0,af,bf=SHOOT(P). Then, all the ridges contained in the facet are calculated: LEr=RDGEf0,af,bf. For each element Erj,arj,brj in LEr, record Ef0,af0,bf0,Erj,arj,brj in list L and let G=afT, g=bf.

Step 2. If Lϕ, select an element Efi,afi,bfi,Eri,ari,bri randomly from list L and let Efn,afn,bfn,Ern,arn,brn=Efi,afi,bfi,Eri,ari,bri. If L=ϕ, stop and report G and g.

Step 3. Search the adjacent facet such that Eadj,aadj,badj=ADJEfn,afn,bfn,Ern,arn,brn and let

G=GaadjT,a=abadj.

Then, all the ridges contained in the adjacent facet can be calculated: LEr=RDGEadj,aadj,badj. For each element Erj,arj,brj in LEr, if there exists an element in L that already contains Erj, we remove the element from the list. Otherwise, we add element Erj,arj,brj,Eadj,aadj,badj to list L. Go to Step 2.

2.3.2 SHOOT oracle

Step 1 (selecting a direction γ and finding a point on the surface of P)

Randomly choose γRd and solve the following linear programming.

(1) r * , y * = arg max ( r , y ) R × R k r , s.t. C γ r + D y b

Step 2 (determining whether a facet of πd(P) is found)

Get Ef0 as Ef0=i|Ciγr+Diy=bi. If RankNDEf0TTCEf0=1, go to Step 3. Otherwise, go to Step 1.

Step 3 (computing the affine hull of the facet and normalizing)

afT,bf=NDEf0TTCEf0,bEf0afT,bf=signbfaf2afT,bf

Step 4 (handling the dual degeneracy in Step 1)

If the linear programming (1) in Step 1 is not dual-degenerate, i.e., (1) has a unique optimizer, then stop. Otherwise, Ef0 needs to be recalculated as follows.

For each row Cix+Diybi of P, we compute the following linear programming problem:

J*(i)=minx,yCix+Diy-bi,

s.t.CEcix+DEciyb,x=x*,

where

Eci=1,2,,q\i,Ef0=i1,2,,q|J*(i)=0.

2.3.3 RDG oracle

Step 1 (computing the dimension of PEf)

If k+d-rankCEfDEf=d-1, continue. Otherwise, go to step 3.

Step 2 (dimPEf=d-1) For all iEfc=1,2,,q\Ef,

Qi=jEcrankafTbfSi,jti,j=2,

and, solving the following linear programming,

min(τ,x)τ(i),s.t.SQc(i)xtQc(i)+τ,afTx=bf,Six=ti,τ(i)-c,,

where c is an arbitrary positive constant, Qc(i)=Ec\Q(i). If τ(i)<0, then ar=Si,br=ti and add Q(i),ar,br to LEr.

Step 3 (dimPEf>d-1)

Conduct singular value decomposition afT=σ00VT, V=V^Ṽ. Then, we get

P̃=x̃,ỹRd-1×Rn|SfṼx̃+Lfỹtf-SV^bf/σ,

where Sf=CEfc-DEfcDEfCEf, Lf=DEfcNDE, and tf=bEfc-DEfcDEfbEf. The πd-1(P̃) can be computed using a recursive call to the ESP algorithm. Each facet of πd-1(P̃) can be converted into the ridge of πd(P) as

x|ṼãfTx=b̃fπd-1(P̃).

Then, we get ar=ãf, br=b̃f, and Q(i),ar,br to LEr.

Step 4 (normalizing and orthogonalizing)

arTbrarTbr-afTarafTbfarTbrsignbrł|ar2arTbr.

2.3.4 ADJ oracle

Step 1 (finding a point on the adjacent facet πdPEadj and its corresponding pre-image)

Solve the following linear programming:

(2) x * , y * = arg max x , y a r T x , s.t. C E r x + D E r y b E r , a f T x = b f 1 - ε ,

where ε is a sufficiently small positive constant.

If LP (2) is not dual-degenerate, i.e., LP (2) has a unique optimizer x*,y*, then continue. Otherwise, go to Step 3.
Step 2 (the case without dual degeneracy)

EadjiErCix*+Diy*=bi

Go to Step 4.
Step 3 (the case of dual degeneracy)

γ=-arTx*-brafTx*-bf

For each row Cix+Diybi of P, compute the following linear programming problem:

J*(i)=minx,yCix+Diy-bi,s.t.CEcix+DEciybEci,ar+γafTx=br+γbf,

where Eci=1,2,,q\i, Eadj=i|J*(i)=0.
Step 4 (computing the affine hull of the facet and normalizing)

afT,bf=NDE0TTCE0,bE0afT,bf=signbfaf2afT,bf
3 Improvement of the uniqueness discussion

In the original ESP algorithm, expressions (1) and (2) in the SHOOT and ADJ oracles need to judge the uniqueness of the optimizer of linear programming (LP), and different steps are taken according to whether the optimizer is unique or not.

In this section, an illustrative example is given at first, the barriers of the original ESP algorithm in the case of dual degeneracy are listed, and the alternative criteria are proposed.

3.1 An illustrative example

The linear programming (2) in Step 1 of the ADJ oracle is given for illustration, and the solution of (2) satisfies

(3) x * π d E adj x a f T x = b f 1 - ε .

The projection of x*,y* is on πdPEadj (Jones2005). If the optimizer x*,y* of linear programming is unique, Eadj should be taken as the equality set corresponding to the face PEadj where x*,y* is located. If the optimizer is not unique, Eadj should be taken as the equality set corresponding to the face PEadj, where the entire optimal solution space is located. Next, a simple example is provided to illustrate the reasons for the discussion of the uniqueness of the optimizer and leads to its alternative strategy.
Example 1

Given a polytope P=(x,y)Rd×Rk|Cx+Dyb,

C=0-200.6670.40-2000,D=2-0.6670.40-1,b=111-1-1,

the orthogonal projection πd(P)=Gxg onto x space Rd is shown in Fig. 1, where

G=-100.7070.707100-1,g=-0.52.831.5-0.5.
https://ms.copernicus.org/articles/15/183/2024/ms-15-183-2024-f01

Figure 1Polytope and its projection onto Rd.

Download

Figure 2 shows that the ADJ oracle takes the facet afTx=bfπ(P) of P (the blue line segment in this example) and ridge arTx=brπdPEf (the intersection of the blue line segment and the yellow line segment in this example) to solve the adjacent facet (the yellow line segment in this example is the facet to be solved), and x* is the intersection of plane afTx=bf1-ε and the yellow line segment.

https://ms.copernicus.org/articles/15/183/2024/ms-15-183-2024-f02

Figure 2The ADJ oracle in Example 1.

Download

All the points on the red line segment of P can be projected onto x*, which indicates that all points on the red line segment are optimal solutions of the LP problem. The optimal solution domain belongs to the yellow facet of PEadj, and its corresponding equality set is Eadj={4}.

However, most of the LP solvers will only give one optimal solution for the LP problem with multiple optimal solutions. If this solution is mistakenly considered the only optimal solution, this may lead to the iteration cycle and increase the computational burden.

In this case, if x*,y* on the intersection of the blue facet and yellow facet is taken as the unique optimal solution, the PEadj that x*,y* belongs to is the intersection line of the blue and yellow facets of P, Eadj=1,4. According to Fig. 3, PEadjPEadj and πdPEadjπdPEadj.

https://ms.copernicus.org/articles/15/183/2024/ms-15-183-2024-f03

Figure 3The non-uniqueness of the optimal solution is ignored.

Download

Owing to affπdPEadj=affπdPEadj, some facets may appear multiple times in the following iterative process, which may increase the number of iterations, and even the algorithm cannot be terminated.

3.2 Shortcomings of the original algorithm

The barriers of the original ESP algorithm in the case of dual degeneracy can be listed as follows.

  • i.

    Currently, most of the LP solvers do not have the ability to judge the uniqueness of the solutions of linear programming. Although several achievements have been made on the unique conditions of LP solutions (Mangasarian1979), these methods are difficult to embed into the existing LP solvers, since they induce additional computation.

  • ii.

    Since the dual degeneracy is only a necessary but insufficient condition for linear programming to have multiple optimizers (Borrelli et al.2017), it is conservative to determine the uniqueness of the solution by testing whether the dual degeneracy occurs in Jones et al. (2004).

  • iii.

    Expression (3) implies that, in the case of d≥3, the value of x* is always not unique; i.e., the LP problem always has multiple optimal solutions. However, if only the value of x* is not unique and the value of y* is unique, irrespective of the point in the optimal solution space, it can be regarded as the unique optimal solution, and the obtained PEadj does not vary. In this case, an extra computation is added to handle the non-uniqueness of the optimal solution of the LP.

3.3 Alternative criteria

According to Example (1), there may be multiple faces PEf in P, and the projections of their affine hulls are all aff Fπ. The collection of all Ef satisfying this condition can be denoted as

(4) Ξ F π = { E f 1 , 2 , , q π d aff P E f = aff F π , G E f = E f } ,

where

GEf={i1,2,,q|Cix+Diy=bi,(x,y)PEf}.

The discussion on the uniqueness of optimizers of LP is to ensure that the obtained Ef is the element in ΞFπ with the maximal dimPEf. The primary result can be stated as given below.
Theorem 3.1 Consider the ΞFπ defined in Expression (4), and Ef is the subset of ΞFπ that maximizes the value of dimPEf if and only if there are no zero rows in NDEfT.
Proof (sufficient part): the sufficiency of Theorem 3.1 has been proven by the following inverse negative proposition.

If there exist zero rows in NDEfT, then Ef is not the element in ΞFπ that maximizes the value of dimPEf.

Let Ef=e1,e2,,en,, DET=De1TDe2TDenT; without loss of generality, we can assume that the last m rows of NDEfT are zero rows.

NDEfT=N1N2Nn-r=N11N12N1n-rN21N22N2n-rNn-m1Nn-m2Nn-mn-r000000=N1rowN2rowNn-mrowNn-m+1rowNnrow.

According to DEfTNDEfT=i=1nDeiTNirow=0, there is a one-to-one correspondence between Nirow and DeiT; i.e., there is a one-to-one correspondence between the rows of NDEfT and the elements of Ef.

Let Ef=e1,e2,,en-m.

NDEfT=N1N2Nn-r=N11N12N1n-rN21N22N2n-rNn-m1Nn-m2Nn-mn-r000000=N1rowN2rowNn-mrowNn-m+1rowNnrow

N1N2Nn-r forms a basis for the null space of DEfT, implying that N1N2Nn-r forms a basis for the null space of DEfT.

Next, we will prove that Ef is an equality set, i.e.,

Ef=i1,,q|Cix+Diy=bi,x,yPEf.

Since Ef is an equation set, we only need to prove that

eiEf′′,(x,y)PEf,s.t.Cix+Diybi,

where

Ef′′=en-m+1,en-m+2,,en.

Since DEf\eiTNDEf\eiT=0, the null space of DEfT and DEf\eiT has the same number of bases, and thus

(5) rank D E f T - rank D E f \ e i T = 1 .

Equation (5) implies that

(6) rank C E f D E f - rank C E f \ e i D E f \ e i = 1 .

Then, combining Proposition 2.5 with Expression (6), we get

(7) dim P E f = k + d - rank C E f D E f = dim P E f \ e i - 1 .

EEf\eiEf implies that

(8) P E f \ e i P E f .

Combining Expressions (7) and (8) gives us

PEf\eiPEf.

Thus, PEf\ei\PEfϕ. Let xPEf\ei\PEf, Cix+Diybi, and thus Ef is an equality set. We can verify that

NDEfTTCEf=NDEfTTCEf,NDEfTTbEf=NDEfTTbEf.

From Proposition 2.4, affPEf=affPEf, and thus EfΞFπ. Therefore, dimPEfdimPEf\ei>dimPEf, and the sufficient part is proven.

Necessary part: the necessary part is proven by contradiction.

Suppose that each row in NDEfT is not a zero row. If Ef*ΞFπ, then dimPEf*>dimPEf. Let dimPEf*-dimPEf=nc, since the projections of Ef* and Ef have the same affine hull. This can be obtained from Proposition 2.5:

rankDEf-rankDEf*=nc,

since πdaffPEf=πdaffPEf*. Proposition 2.4 implies that N(DEfT) and NDEf*T have the same number of columns, i.e., n*-rankDEf*=n-rankDEf, n-n*=nc.

We can denote NDEf*T as follows.

NDEf*T=N1*N2*Nn-r*=N11*N12*N1(n-r)*N21*N22N2(n-r)*Nn*1Nn*2Nn*(n-r)

Then, we add nc zero elements to each column of NDEf*T as follows.

NDEf*T=N1*N2*Nn-r*=N11*N12*N1(n-r)*N21*N22N2(n-r)*Nn*1Nn*2Nn*(n-r)000000

Since N1*, N2*,,Nn-r* are linearly independent, N1*, N2*,,Nn-r* are bases of DEfT. There are no zero rows in NDEfT, and thus N1, N2,,Nn-r cannot be expressed linearly by N1*, N2*,,Nn-r*, which is a contradiction. Therefore, the necessary part is proven.

Corollary 3.1 Let Ef=e1,e2,,en,ΞFπ. If there exist zero rows in NDEfT, then Ef, which consists of elements of Ef corresponding to non-zero rows in NDEfT, is the element in ΞFπ that maximizes the value of dimPEf.

Corollary 3.1 is a direct consequence of Theorem 3.1, and it implies that it is no longer necessary to discuss the uniqueness of the solutions in the SHOOT and ADJ oracles. However, it only takes an arbitrary solution as the unique solution and then gets the Ef that maximizes the value of dimPEf in ΞFπ.

3.3.1 Improved SHOOT oracle

Step 1 (selecting a direction γ and finding a point on the surface of P)

By randomly choosing γRd, we solve the following linear programming.

(9) r * , y * = arg max ( r , y ) R × R k r s.t. C γ r + D y b

Step 2 (whether a facet of πd(P) is found)

(10) E f 0 = i | C i γ r + D i y = b i

If RankNDEf0TTCEf0=1, continue. Otherwise, go to Step 1.

Step 3 (ensuring the Ef0 is the element with the maximal dimPEf0 in ΞFπ)

If there exist zero rows in NDEf0T, let Ef0Ef0 as Corollary 3.1. Otherwise, continue.

Step 4 (computing the affine hull of the facet and normalizing)

afT,bf=NDEf0TTCEf0,bEf0afT,bf=signbfaf2afT,bf

3.3.2 Improved ADJ oracle

Step 1 (finding a point on the adjacent facet of πd(P) and its corresponding pre-image)

Solve the following linear programming.

x*,y*=argmaxx,yarTxs.t.CErx+DErybEr,afTx=bf1-ε

Step 2 (searching for the Ef of ΞFπ that maximizes the value of dimPEf)

EadjiErCix*+Diy*=bi

If there exist zero rows in NDEadjT, let EadjEadj as Corollary 3.1. Otherwise, continue.

Step 3 (computing the affine hull of the adjacent facet and normalizing)

aadjT,badj=NDEadjTTCEadj,bEadjaadjT,badj=signbadjaadj2aadjT,badj
4 An improved strategy without searching for Er

In this section, we first explain the obstacles to searching for Er in the case of dimPEf>d-1, an improved strategy that does not require Er is proposed, and then a new criterion is given to judge whether the two ridges are the same.

4.1 The barrier to searching for Er

In the RDG oracle, if dimPEf>d-1, this requires a recursive call to the ESP algorithm that reduces the dimension onto which we are projecting at each step.

We note that ar and br can easily be obtained through this strategy, but it is often expensive to search for Er. The only way to do this is to list all of the equality sets Ec=1,2,,q\Ef, Epi=EfEi, and EiEc, and searching for the πdEpi is equal to xãfTx̃=b̃fπd-1(P̃). The computational effort increases in an exponential manner in the number of dimensions.

4.2 New criteria without Er

To improve the computational efficiency of the algorithm when the optimizer of LP is not unique, the search for Er has been abandoned. However, in the original ESP algorithm, Er is needed to judge the occurrence times of ridges, and hence we have proposed a new criterion to judge whether the two ridges in πd(P) are the same without Er.

Lemma 4.1 Let P be a polytope. F1=x|af1Tx=bf1πd(P) and F2=x|af2Tx=bf2πd(P) are the facets of P, R1=x|ar1Tx=br2F1 and R2=x|ar2Tx=br2F2 are the ridges of P, and R1F1 and R2F2. Then, F1F2=R1=R2 if and only if

(11) rank a f 1 T a f 2 T a r 1 T a r 2 T = rank a f 1 T b f 1 a f 2 T b f 2 a r 1 T b r 1 a r 2 T b r 2 = 2 .

Proof Only the proof of sufficiency is given here, and the necessity is obvious. Since af1ar1,af2ar2,

(12) rank a f 1 T b f 1 a r 1 T b r 1 = rank a f 2 T b f 2 a r 2 T b r 2 = 2 .

Combining Expression (11) with Expression (12) gives us

x|ar1Tx=br1x|af2Tx=bf2=x|ar2Tx=br2x|af2Tx=bf2.

Note that

R2=x|ar2Tx=br2x|af2Tx=bf2πd(P),R1=x|ar1Tx=br1x|af1Tx=bf1πd(P),

and thus R1=R2. Since the two facets of the polytope can only have one common ridge, F1F2=R1=R2.

4.3 Some other patches caused by the abandonment of searching for Er

Since Er is required in other steps in the original ESP algorithm, certain other patches need to be made.

In the ADJ oracle, LP (9) and Eq. (10) can be changed to LP (13) and Eq. (14), respectively.

(13) x * , y * = arg max x , y a r T x s.t. C x + D y b , a f T x = b f 1 - ε

(14) E adj i 1 , 2 , , q C i x * + D i y * = b i

We can verify that the modified algorithm still gets the correct result, though it also adds certain extra computation cost in the case of dimPEf=d-1. We note that dimPEf>d-1 if and only if the optimizer of LP is non-unique. A switching strategy can be adopted to take the original method until the optimizer of LP is non-unique.

5 Numerical simulations

In this section, the effectiveness of the proposed method is verified based on certain typical orthogonal projection cases and applications to N-step controllable set calculations in the control field.

5.1 Numerical simulations for the typical orthogonal projection cases

We select three cases for numerical simulation, and two of them are dual-degenerate, though one is not dual-degenerate.

  • i.

    The projection of a three-dimensional n prism with n+2 half-spaces onto a two-dimensional plane

  • ii.

    The projection of an n-dimensional cube with 2n half-spaces onto a two-dimensional plane

  • iii.

    The projection of an n-dimensional cube onto a three-dimensional space

In cases (i) and (ii), the dual degeneracy occurs, whereas there is no dual degeneracy in case (iii). The simulation operation has been implemented in MATLAB 2019, and the running times of the original ESP and the improved ESP are shown in Fig. 4.

https://ms.copernicus.org/articles/15/183/2024/ms-15-183-2024-f04

Figure 4Comparative running times for typical cases.

Download

The running time of the original ESP algorithm increases exponentially with dimensions and the number of half-planes of the input polytopes under the dual-degeneracy cases, whereas the improved ESP algorithm significantly reduces the computational burden in the case of dual degeneracy. The running time is also optimized in the case of non-dual degeneracy, since it is no longer necessary to judge the uniqueness of linear programming solutions in the improved ESP algorithm.

5.2 Applications to N-step controllable set calculations

We apply the proposed method for the calculation of N-step controllable sets in the control field, and the problem setup is described as given below.

Consider the following linear discrete system.

x1(k+1)x2(k+1)=1.1200.95Ax1(k)x2(k)+00.0787Bu

x=x1,x2T and u are the state and input vectors, respectively, subject to the constants as follows.

0.1250-0.125000.1250-0.125Axx1x21111-11Auu11

Then, we define the target set as follows.

0.250-0.25000.250-0.25Afx1x21111

The N-step controllable set C(N) is defined as the collection of all initial states x0 that can evolve into the target set in N steps while satisfying the state and input constraints, and it can be transformed into the orthogonal projection problem as given below.

C(N)=πdP=(x,u)Rd×Rk|Cx+Dub,

where d=2, k=1,

D=Au000Au000Au000AxB00AxABAxB0AfAN-1BAfAN-2BAfB,C=000AxAxAAxA2AfAN,

and

b=111.

The N-step controllable set can be derived, as shown in Fig. 5, using either the improved ESP algorithm or the original ESP algorithm. When N is small, the region of the N-step controllable set changes significantly with the increasing N, though the trend of change gradually weakens and when N≥12. The N-step controllable set no longer changes with the increase in N.

https://ms.copernicus.org/articles/15/183/2024/ms-15-183-2024-f05

Figure 5Results of the N-step controllable set.

Download

Moreover, the running times of the original ESP and the improved ESP are shown in Fig. 6. When N=1,2, the two algorithms have similar computational efficiencies. When N>2, the computational efficiency of the improved ESP method is higher than that of the original ESP method. This is due to the fact that, when N=1,2, dual degeneracy does not occur or occurs very rarely, while, when N>3, dual degeneracy occurs frequently. Clearly, the improved ESP algorithm is better than the original ESP method in the application of N-step controllable set computation.

https://ms.copernicus.org/articles/15/183/2024/ms-15-183-2024-f06

Figure 6Comparative running times for the calculation of the N-step controllable set.

Download

6 Conclusions

In this paper, the improved ESP algorithm becomes simpler, faster, and easier to implement in the case of dual degeneracy. This is achieved by the following methods. First, an alternative criterion has been proposed to directly obtain the equality set that maximizes the value of dimPEf. It avoids the uniqueness discussion of the optimizer in linear programming, which is not easy to implement. Further, it also reduces the operation times and simplifies the algorithm process. Second, an improved strategy has been presented to solve the difficulty in searching for the equality set Er in the case of dimPEf>d-1, which significantly reduces the burden of computation. Finally, the effectiveness of the proposed improved ESP algorithm has been validated through numerical simulations.

Code availability

Software code in this study can be requested from the corresponding author.

Data availability

Research data in this study can be requested from the corresponding author.

Author contributions

BP and WX proposed improved strategies for the ESP algorithm. WX finished the simulation part. YL participated in the correction of the paper.

Competing interests

The contact author has declared that none of the authors has any competing interests.

Disclaimer

Publisher’s note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. While Copernicus Publications makes every effort to include appropriate place names, the final responsibility lies with the authors.

Acknowledgements

The authors acknowledge the financial support of the National Natural Science Foundation of China. The authors would like to thank the editors and the anonymous reviewers for their constructive comments and suggestions that have improved the quality of the paper.

Financial support

This research has been supported by the National Natural Science Foundation of China (grant no. 62103440).

Review statement

This paper was edited by Daniel Condurache and reviewed by two anonymous referees.

References

Avis, D.: Computational experience with the reverse search vertex enumeration algorithm, Optim. Method. Softw., 10, 107–124, https://doi.org/10.1080/10556789808805706, 1998. a

Balas, E.: Projection with a minimal system of inequalities, Comput. Optim. Appl., 10, 189–193, https://doi.org/10.1023/a:1018368920203, 1998. a

Balas, E. and Oosten, M.: On the dimension of projected polyhedra, Discrete Appl. Math., 87, 1–9, https://doi.org/10.1016/s0166-218x(98)00096-1, 1998. a, b

Borrelli, F., Bemporad, A., and Morari, M.: Predictive Control for Linear and Hybrid Systems, Cambridge University Press, New York, https://doi.org/10.1017/9781139061759, 2017. a, b

Fukuda, K. and Prodon, A.: Double description method revisited, Springer, Berlin, https://doi.org/10.1007/3-540-61576-8_77, 1996. a

Jones, C. N.: Polyhedral Tools for Control, thesis, Department of Engineering University of Cambridge, Corpus ID: 117208061, 2005. a, b, c, d, e

Jones, C. N., Kerrigan, E. C., and Maciejowski, J. M.: Equality set projection: a new algorithm for the projection of polytopes in halfspace representation, Report CUED/F-INFENG/TR. 463, University of Cambridge, Corpus ID: 14790429, 2004. a, b

Jones, C. N., Kerrigan, E. C., and Maciejowski, J. M.: On polyhedral projection and parametric programming, J. Optimiz. Theory App., 138, 207–220, https://doi.org/10.1007/s10957-008-9384-4, 2008. a

Keerthi, S. S. and Sridharan, K.: Solution of parametrized linear inequalities by Fourier elimination and its applications, J. Optimiz. Theory App., 65, 161–169, https://doi.org/10.1007/bf00941167, 1990.  a

Kwan, M., Sauermann, L., and Zhao, Y. F.: Extension complexity of low-dimensional polytopes, T. Am. Math. Soc., 375, 4209–4250, https://doi.org/10.1090/tran/8614, 2022. a

Lee, Y. I. and Kouvaritakis, B.: Robust receding horizon predictive control for systems with uncertain dynamics and input saturation, Automatica, 36, 1497–1504, https://doi.org/10.1016/s0005-1098(00)00064-9, 2000. a

Liu, H. Y., He, P. Q., Jiang, Y., Zhang, Q. L., and Xia, Q. Q.: A Simple Check Polytope Projection Penalized Algorithm for ADMM Decoding of LDPC Codes, IEEE Access, 11, 2524–2530, https://doi.org/10.1109/access.2023.3234182, 2023. a

Mangasarian, O. L.: Uniqueness of solution in linear programming, Linear Algebra Appl., 25, 151–162, https://doi.org/10.1016/0024-3795(79)90014-4, 1979. a

Rakovic, S. V., Kerrigan, E. C., Mayne, D. Q., and Lygeros, J.: Reachability analysis of discrete-time systems with disturbances, IEEE T. Automat. Contr., 51, 546–561, https://doi.org/10.1109/tac.2006.872835, 2006. a

Sadeghzadeh, A.: Gain-scheduled continuous-time control using polytope-bounded inexact scheduling parameters, Int. J. Robust Nonlin., 28, 5557–5574, https://doi.org/10.1002/rnc.4333, 2018. a

Saraswat, V. and Hentenryck, V. P.: Principles and Practice of Constraint Programming, MIT Press, Boston, ISBN: 978-0-262-19361-0, 1995. a

Teissandier, D. and Delos, V.: Algorithm to calculate the Minkowski sums of 3-polytopes based on normal fans, Comput. Aided Design, 43, 1567–1576, https://doi.org/10.1016/j.cad.2011.06.016, 2011. a

Vincent, T. L. and Wu, Z. Y.: Estimating projections of the controllable set, J. Guid. Control Dynam., 13, 572–575, https://doi.org/10.2514/3.25372, 1990. a

Webster, R. J.: Convexity, Oxford University Press, Oxford, https://doi.org/10.1093/oso/9780198531470.001.0001, 1994. a, b

Xia, Q. Q., Wang, X., Liu, H. J., and Zhang, Q. L.: A Hybrid Check Polytope Projection Algorithm for ADMM Decoding of LDPC Codes, IEEE Commun. Lett., 25, 108–112, https://doi.org/10.1109/lcomm.2020.3023600, 2021. a

Xu, Y. and Guo, Q.: On Monotone Translation-Projection Covariant Minkowski Valuations, Discrete Comput. Geom., 65, 713–729, https://doi.org/10.1007/s00454-019-00069-y, 2021. a

Ziegler, G. M.: Lectures on Polytopes, Springer, New York, https://doi.org/10.1007/978-1-4613-8431-1, 1995. a, b, c

Download
Short summary
Projection is one of the most fundamental operations of polytopes, and it is widely used in the field of control and optimization. The Equality Set Projection algorithm is a promising method for projection calculation, but it has some shortcomings under the condition of dual degeneracy In this paper. Two improvements are presented to make the Equality Set Projection algorithm become simpler, faster, and easier to implement in the case of dual degeneracy.