고정 된 수의 변수를 사용한 정수 프로그래밍


12

고정 된 수의 변수 를 사용한 H. Lenstra 정수 프로그래밍에 의해 유명한 1983 년 논문은 고정 된 수의 변수 를 갖는 정수 프로그램은 데이터 길이에서 시간 다항식으로 해결할 수 있다고 명시하고있다.

나는 다음과 같이 해석합니다.

  1. 일반적으로 정수 프로그래밍은 여전히 ​​NP 완료이지만 내 전형적인 문제 크기 (약 10.000 개의 변수, 임의의 수의 제약 조건)가 실제로 실현 가능하다면 제약 조건의 수는 다항식으로 스케일링하지만 알고리즘은 아닌 알고리즘을 구성 할 수 있습니다 변수와 제약의 수
  2. 적절한 제약 조건을 추가하여 정수를 0-1로 강제 할 수 있으므로 결과는 이진 프로그래밍에도 적용됩니다.

내 해석이 정확합니까?

이 결과에 실질적인 영향이 있습니까? 즉, 사용 가능한 구현이 있습니까, 아니면 CPLEX, Gurobi 또는 Mosek과 같은 널리 사용되는 솔버에서 사용됩니까?

논문에서 인용 한 내용 :

이 길이는 우리의 목적 상 n · m · log (a + 2)로 정의 될 수 있으며, 여기서 a는 A와 b의 계수의 절대 값의 최대 값을 나타냅니다. 실제로, 문제가 NP- 완전이기 때문에 그러한 다항식 알고리즘은 존재하지 않을 것입니다.

[...]

임의의 고정 된 n 값에 대해 정수 선형 프로그래밍 문제의 해결을위한 다항식 알고리즘이 존재한다고 추측되었다 [5,10]. 본 논문에서 우리는 이러한 알고리즘을 보여줌으로써 이러한 추측을 증명한다. 알고리즘의 실행 시간을 제한 할 수있는 다항식의 정도는 n의 지수 함수입니다.


2
"나는 구속 조건 또는 변수 의 수에 따라 다항식으로 스케일링하는 알고리즘을 구성 할 수 있지만 변수 및 제약 조건의 수에는 그렇지 않습니다." 흥미로운 점 / 질문-지금까지 제약 조건 (고정 변수 수 유지)에 대해서는 이것이 사실이지만, 변수 (고정 제한 수 유지)에 대해서도 참인지 흥미 롭습니다. ? 직관적으로 그것은 사실이 아니어야한다고 생각합니다. 그렇지 않으면 IP는 일반적으로 폴리 타임 일 것입니다.하지만 확실하지 않습니다.
usul

논문의 4 장에서 Lenstra는 "고정 된 m의 정수 선형 프로그래밍 문제는 다항식으로 해결할 수있다"고 기술하고있다. (m은 금기의 수입니다) 이것은 주요 결과의 결과입니다. 이 부분은 명확하지 않습니다. 두번째 생각에 그는 고정 된 n과 m을 가정 할 것이다. "a"(A 및 b 계수의 절대 값의 최대 값)에서 다항식입니다. (결과적으로 위의 질문에서 "또는 변수"부분을 제거했습니다).
Bernhard Kausler

6
@ usul : 사실이며 IP가 폴리 타임임을 암시하지 않습니다. 단지 거기에 시간이 걸리는 지수의 알고리즘 수단 과 다항식 지수 시간 걸리는 다른 과 다항식nmmn
Sasho 니콜 로프

답변:


19

현재 가장 빠른 알고리즘은 고정 된 모든 값에 대해 정수 선형 프로그램의 길이에서 실제로 선형입니다 . 그의 박사 학위 논문에서 Lokshtanov (2009) 는 다음 이론에 의해 Lenstra (1983), Kannan (1987) 및 Frank & Tardos (1987)의 결과를 훌륭하게 요약합니다.n

정수 선형 프로그래밍은 산술 연산과 공간 다항식을 사용하여 풀 수 있습니다 . 여기서 은 입력의 비트 수이고 은 정수 선형 프로그램의 변수 수입니다.O(n2.5n+o(n)L)LLn

따라서 문제는 변수의 수로 매개 변수가 고정 된 고정 매개 변수입니다.

1) 예, 정수 선형 프로그래밍은 여전히 ​​"NP"완료입니다. 위의 이론적 결과의 실행 시간은 제약 조건의 수에 선형 적으로 만 의존하므로 제약 조건의 수에 따라 잘 조정됩니다. 그러나 나는이 알고리즘의 실제 구현이 없다는 것을 알고 있습니다.

2) 예, 변수가 이진 값을 갖도록하는 것은 관찰 한대로 간단합니다.

최신 정보. 정수 선형 프로그래밍의 실행 시간에서 에 대한 의존성 이 실제로 향상 될 수 있습니다. 기준 클락슨 (1995)Eisenbrand (2003) 한 시간 실행하는 알고리즘을 얻을 수있다 (아래 주석 참조) 여기서 은 제약 조건의 수이고 는 제약 조건 또는 목적 함수를 인코딩하는 데 필요한 최대 비트 수입니다.L

O(2nnm+8nnmlogmlogm+n2.5n+o(n)slogm)
ms

1
아, "고정 매개 변수 선형"이라는 용어에 감사드립니다. 이것이 바로 Lenstra의 논문입니다. 참조 : en.wikipedia.org/wiki/Parameterized_complexity
베른 하르트 Kausler

4
명백한 관찰 : 이진 변수의 경우 bruteforce 알고리즘은 시간이 걸리므로 사소한 경우입니다. nO(n2nm)
Sasho Nikolov

ILP의 최적화 버전의 경우 합리적인 계수와 변수, 제약 조건 및 제약 당 비트 의 문제를 해결하는 데 시간 이 걸리면 ILP는 비트 이성에 대한 연산 , 여기서 은 최악의 일 때 (나는 생각합니다) ; Eisenbrand의 논문을 기반으로합니다 www2.math.uni-paderborn.de/fileadmin/Mathematik/AG-Eisenbrand/... .T(n,m,s)nmsO(2nm+(logm)T(n,f(n),s)O(s)f(n)nO(n)
켄 클락슨

1
이것은 대답의 기본 사실을 바꾸지는 않지만 KL Clarkson과 관련이 있습니다. 치수가 작은 경우 선형 및 정수 프로그래밍을위한 Las Vegas 알고리즘. J. ACM 42 (2) : 488–499, 1995, doi : 10.1145 / 201019.201036.
David Eppstein

2
필자의 논문은 ILP에 대해 버그가있다. "small" 기본 사례에서는 최적화를 해결하는 알고리즘을 언급해야했을 때 타당성을 위해 ILP 알고리즘을 언급했다. 아이젠 브란트 (Eisenbrand)의 논문은이를 기록하고 기본 사례에 대한 결과를 제공합니다. 그러나 나는 그의 논문 에서 에 대한 정확한 의존성을 알아낼 수 없었다 . 결과를 내가 주장한 부분의 부분에 꽂을 수 있습니다 . 여기서 , 그래서 입니다. (죄송 합니다만, 이 무엇인지에 대해 혼란 스러웠습니다 .) 중간 용어를 무시한 결과는 작업. mnO(n2.5n+o(n)L)T(n,f(n),s)f(n)=4nL=4nsf(n)O(2nnm+n2.5n+o(n)(logm)s)
켄 클락슨

4

다음은 Lenstra 유형 결과의 실질적인 영향과 CPLEX, Gurobi 등의 가능한 구현에 관한 몇 가지 요점입니다. IP에 대한 이러한 알고리즘의 대부분의 주요 단계 중 하나는 "좋은"또는 "얇은"방향으로 분기하는 것입니다. 즉, 폴리 토프의 너비가 너무 크지 않은 초평면 (변수 및 데이터 크기의 다항식). 그러나 Mahajan과 Ralphs (preprint here )는 최적의 분리 를 선택하는 문제 가 NP- 완전 임을 보여 주었다 . 따라서이 클래스의 알고리즘을 실질적으로 효율적으로 구현하는 것은 어려운 것처럼 보입니다.

CPLEX와 같은 패키지로 구현 된 대부분의 알고리즘은 분기 및 절단 방법으로 분류 될 수 있습니다. 이 기술 제품군은 일반적으로 실행 가능하고 거의 최적의 솔루션을 찾을 수있는 IP 인스턴스에서 잘 작동합니다. 그러나 Lenstra-type algos의 초점은 최악의 경우 IP 인스턴스에 초점을 맞추지 않았으며, 그 목표는 정수 불가능 성 을 증명 하는 것입니다 (그리고이 작업의 복잡성을 연구 함). AFAIK,이 설명에 맞는 실제 관련성에 대한 문제는 없습니다. 따라서 CPLEX / Gurobi 직원은 조만간 Lenstra 유형의 알고리즘을 구현하지 않을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.