Skip to main content
QUICK REVIEW

[논문 리뷰] Globally solving Non-Convex Quadratic Programs via Linear Integer Programming techniques

Wei Xia, Juan C. Vera|Research portal (Tilburg University)|2015. 11. 08.
Advanced Optimization Algorithms Research참고 문헌 27인용 수 9
한 줄 요약

이 논문은 KKT 조건, 이진 변수, big-M 제약 조건을 사용하여 비볼록 2차 프rogramming(QPs)을 혼합정수선형프로그램(MILPs)으로 재구성함으로써 전역적으로 비볼록 QPs를 해결하는 새로운 방법을 제안한다. 주요 기여는 전역 최적해를 잃지 않으면서 이중 변수의 범위를 제한하는 기법으로, 이는 최신 MILP 솔버의 효율적 사용을 가능하게 하며, 표준 및 일반 QP 인스턴스에서 기존 솔버인 quadprogBB, BARON, CPLEX를 능가한다.

ABSTRACT

Quadratic programming (QP) is a well-studied fundamental NP-hard optimization problem which optimizes a quadratic objective over a set of linear constraints. In this paper, we reformulate QPs as a mixed-integer linear problem (MILP). This is done via the reformulation of QP as a linear complementary problem, and the use of binary variables and big-M constraints, to model the complementary constraints. To obtain such reformulation, we show how to impose bounds on the dual variables without eliminating all the (globally) optimal primal solutions; using some fundamental results on the solution of perturbed linear systems. Reformulating non-convex QPs as MILPs provides an advantageous way to obtain global solutions as it allows the use of current state-of-the-art MILP solvers. To illustrate this, we compare the performance of our solution approach, labeled quadprogIP, with the current benchmark global QP solver quadprogBB, as well as with BARON, one of the leading non-linear programming (NLP) solvers, and CPLEX's non-convex QP solver, on a large variety of QP test instances. In practice, quadprogIP is shown to typically outperform by orders of magnitude quadprogBB, BARON, and CPLEX on standard QPs. For general QPs, quadprogIP outperforms quadprogBB, outperforms BARON in most instances, while CPLEX performs the best on these instances. For box-constrained QPs, quadprogIP has a comparable performance to quadprogBB and BARON in small- to medium-scale instances, but is outperformed by these solvers on large-scale instances; while CPLEX performs the best on box-constrained QP instances. Also, unlike quadprogBB, the solution approach proposed here is able to solve QP instances whose dual feasible set is unbounded. The MATLAB code, called quadprogIP, and the instances used to perform these numerical experiments are publicly available at https://github.com/xiawei918/quadprogIP.

연구 동기 및 목표

  • 비볼록 2차 프로그래밍(QPs)을 전역적으로 해결하는 데 도전하는 것 — 이는 NP-난해이며 다항 시간 해법이 없는 문제이다.
  • 기존 방법의 한계를 극복하는 것 — 이는 이중 변수가 유한한 범위를 가져야 하거나, 이중 탇행 해역이 유계가 아닌 경우 실패한다.
  • 고성능 MILP 솔버를 비볼록 QPs에 사용할 수 있도록 하기 위해 유효한 MILP 재구성을 구축하는 것.
  • 왜곡된 선형 시스템 이론을 통해 이중 변수의 범위를 부여하면서도 모든 전역 최적의 원래 해를 유지하는 방법을 제공하는 것.
  • 다양한 QP 테스트 인스턴스에서 최상의 전역 솔버들과 비교해 볼 때 뛰어난 계산 성능을 입증하는 것.

제안 방법

  • 카루시-쿤-터커(Karush-Kuhn-Tucker, KKT) 조건을 사용하여 비볼록 QP를 선형 보완 문제(LCP)로 재구성하는 것.
  • 보완 제약 조건을 이진 변수와 big-M 제약 조건을 사용하여 모델링함으로써 MILP 형식을 가능하게 하는 것.
  • 왜곡된 선형 시스템 이론(예: Güler 등, 1995)의 이론적 결과를 적용하여 전역 최적해를 잃지 않으면서도 이중 변수의 계산 가능한 범위를 유도하는 것.
  • 모든 전역 최적해를 포함하는 KKT 점의 부분집합으로 제한함으로써 MILP 재구성이 유효하고 유한 수렴성을 확보하는 것.
  • 얻어진 MILP 재구성을 최신 MILP 솔버의 입력으로 사용하여 그 효율성과 강건성을 활용하는 것.
  • MATLAB 솔버인 quadprogIP로 구현하였으며, 테스트 인스턴스와 성능 데이터를 포함해 공개되어 있다.

실험 결과

연구 질문

  • RQ1비볼록 QPs는 전역적으로 해결 가능한가? 이는 전역 최적해를 잃지 않고 혼합정수선형프로그램(MILPs)으로 재구성함으로써 가능할까?
  • RQ2이중 탇행 해역이 무한한 QPs에서 이중 변수에 유한한 범위를 적용할 수 있는가? 이때 모든 전역 최적의 원래 해를 유지할 수 있는가?
  • RQ3제안된 MILP 기반 접근법은 표준 및 일반 QP 인스턴스에서 확립된 전역 솔버인 quadprogBB, BARON, CPLEX와 비교해 어떻게 성능을 냈는가?
  • RQ4이전 방법들인 quadprogBB와 달리, 제안된 방법은 이중 탇행 해역이 무한한 QP 인스턴스를 성공적으로 해결할 수 있는가?
  • RQ5상자 제약 조건이 있는 QP와 일반 QP 문제의 크기와 조밀도에 따라 이 방법의 확장성과 효율성은 어떠한가?

주요 결과

  • 제안된 quadprogIP 솔버는 표준 및 일반 QP 인스턴스에서 quadprogBB를 수십만 배 이상 빠르게 해결하며, 10^4초 제한 시간 내에 추가로 9개의 인스턴스를 해결한다.
  • CUTEr, Globallib, RandQP 테스트 세트에서 quadprogIP는 대부분의 인스턴스를 BARON보다 빠르게 해결하며, 시간 제한 내에 해결하지 못하는 문제의 상당수를 해결할 수 있다.
  • 일반 QP의 경우, quadprogIP는 대부분의 경우 quadprogBB와 BARON를 능가하지만, CPLEX는 여전히 이 인스턴스들에서 가장 빠른 성능을 보인다.
  • 상자 제약 조건이 있는 QP의 경우, quadprogIP는 소형 및 중형 스케일 인스턴스에서는 quadprogBB 및 BARON와 유사한 성능을 보이며, 대규모 인스턴스에서는 이들에 뒤지지만, CPLEX가 다시 최고 성능을 기록한다.
  • quadprogBB와 달리, 제안된 방법은 이중 탇행 해역이 무한한 QP 인스턴스를 성공적으로 해결하여 해결 가능한 문제의 범위를 넓혔다.
  • quadprogIP의 MATLAB 구현 및 모든 테스트 인스턴스는 https://github.com/xiawei918/quadprogIP 에 공개되어 있으며, 재현 가능성을 위해 원시 성능 데이터도 포함되어 있다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.