정수 프로그래밍
Integer programming정수 프로그래밍 문제는 변수의 일부 또는 전부가 정수로 제한되는 수학적 최적화 또는 실현 가능성 프로그램입니다.많은 설정에서 이 용어는 목적 함수와 제약 조건(정수 제약 조건 제외)이 선형인 정수 선형 프로그래밍(ILP)을 나타냅니다.
정수 프로그래밍은 NP-완전입니다.특히, 0-1 정수 선형 프로그래밍의 특수한 경우, 알 수 없는 것은 이진수이며 제한사항만 충족되어야 합니다. 이는 Karp의 21개의 NP-완전 문제 중 하나입니다.
일부 결정 변수가 이산적이지 않은 경우 이 문제는 혼합 정수 프로그래밍 [1]문제로 알려져 있습니다.
ILP의 표준 및 표준 형식
정수 선형 프로그래밍에서 표준 형식은 표준 형식과 다릅니다.정규 형식의 정수 선형 프로그램은 다음과 같이 표현됩니다(결정되는 은 x{\벡터입니다).[2]
표준 형식의 ILP는 다음과 같이 표현됩니다.
서c , {c { 은 이고A {\ A 는 행렬이며 모든 엔트리가 정수입니다.선형 프로그램과 마찬가지로 표준 형식이 아닌 ILP는 부등식을 제거하고 느슨한 변수({s를 도입하고 부호 제약이 없는 변수를 2개의 부호 제약 변수의 차이로 대체하여 표준 형식으로 변환할 수 있다.
예
오른쪽 그림은 다음과 같은 문제를 보여줍니다.
실행 가능한 정수점은 빨간색으로 표시되고 빨간색 점선은 볼록 선체를 나타냅니다. 볼록 선체는 이러한 모든 점을 포함하는 가장 작은 볼록 다면체입니다.파란색 선은 좌표축과 함께 LP 완화 다면체를 정의하며, 이는 적분 제약 없이 부등식으로 제공됩니다.최적화의 목적은 다면체에 닿은 상태에서 검은색 점선을 위쪽으로 이동하는 것입니다.정수 문제의 최적 해결 방법은 둘 다 목표값이 2인 포인트와 입니다.이완의 독특한 최적치는 ( {{ 스타일이며 목표값은 2.8입니다.완화의 해를 가장 가까운 정수로 반올림하면 ILP에는 적합하지 않습니다.
NP-경도 증명
다음은 최소 정점 커버에서 NP-경도의 증명 역할을 하는 정수 프로그래밍으로 축소된 것입니다.
( V,) { G=(을(를) 무방향 그래프라고 .다음과 같이 선형 프로그램을 정의합니다.
제약조건에 의해 y {\가 0 또는 1로 되기 때문에 정수 프로그램에 대한 실현 가능한 해법은 모두 정점의 서브셋입니다.첫 번째 제약조건은 모든 에지의 끝점이 적어도 하나 이상 이 서브셋에 포함된다는 것을 의미합니다.따라서 솔루션은 꼭지점 덮개를 설명합니다.또한 정점 커버 C를 지정하면 y v {\는 의 v C {\ v C}에 대해 1로, 임의의 C {\ v C에 대해 0으로 설정할 수 있으므로 정수 프로그램에 대한 실현 가능한 솔루션을 얻을 수 있습니다.따라서 y 의 합을 최소화하면 최소 정점 [3]커버도 찾을 수 있습니다.
변종
Mixed-integer Linear Programming(MILP; 혼합 정수 선형 프로그래밍)에서는 일부 변수(만 정수로 제한되고 다른 변수는 정수 이외의 변수가 허용됩니다.
제로 원 선형 프로그래밍(또는 이진 정수 프로그래밍)은 변수가 0 또는 1로 제한되는 문제를 포함합니다.모든 경계 정수 변수는 이진 [4]변수의 조합으로 표현될 수 있습니다.예를 들어 정수 0 0x\U의 경우 변수는 2 U+ { +1} 변수를 사용하여 표시할 수 있습니다.
적용들
문제를 선형 프로그램으로 모델링할 때 정수 변수를 사용하는 이유는 크게 두 가지입니다.
- 정수 변수는 정수만 될 수 있는 수량을 나타냅니다.예를 들어, 3.7대의 자동차를 만드는 것은 불가능하다.
- 정수 변수는 결정을 나타내므로(예: 가장자리를 그래프에 포함할지 여부) 값 0 또는 1만 적용해야 합니다.
이러한 고려사항은 실제로 자주 발생하므로 정수 선형 프로그래밍을 많은 애플리케이션 영역에서 사용할 수 있습니다. 그 중 일부는 아래에 간략히 설명되어 있습니다.
생산 계획
혼합 정수 프로그래밍은 잡샵 모델링을 포함한 산업 생산에서 많은 응용 분야를 가지고 있습니다.농업 생산 계획에서 발생하는 한 가지 중요한 예는 자원을 공유할 수 있는 여러 작물의 생산량을 결정하는 것이다(예: 토지, 노동, 자본, 종자, 비료 등).가능한 목표는 가용 리소스를 초과하지 않고 총 생산량을 극대화하는 것입니다.경우에 따라서는 선형 프로그램으로 표현할 수 있지만 변수는 정수여야 합니다.
스케줄
이러한 문제에는 운송 네트워크에서의 서비스 및 차량 스케줄링이 포함됩니다.예를 들어, 버스나 지하철을 개별 노선에 할당하여 시간표를 맞출 수 있도록 하고 운전기사를 배치하는 문제가 발생할 수 있습니다.여기서 바이너리 결정 변수는 버스 또는 지하철이 노선에 할당되는지 여부와 기관사가 특정 열차 또는 지하철에 할당되는지 여부를 나타냅니다.제로원 프로그래밍 기술은 프로젝트가 상호 배타적이거나 기술적으로 상호의존적인 프로젝트 선택 문제를 해결하기 위해 성공적으로 적용되었습니다.이는 모든 결정 변수가 정수인 정수 프로그래밍의 특수한 경우에 사용됩니다.값은 0 또는 1로 가정할 수 있습니다.
영역 분할
영토분할 또는 지역구획 문제는 지역구별로 분할하여 서로 다른 기준이나 제약을 고려하면서 일부 운영을 계획하는 것입니다.이 문제에 대한 몇 가지 요구사항은 인접성, 콤팩트성, 균형 또는 형평성, 자연경계의 존중, 그리고 사회경제적 동질성이다.이러한 유형의 문제에는 정치 지역구, 학교 지역구, 보건 서비스 지역구 및 폐기물 관리 지역구가 포함됩니다.
통신망
이러한 문제의 목적은 미리 정의된 통신 요건을 충족하고 네트워크의 총 비용을 최소화할 [5]수 있도록 설치하는 회선 네트워크를 설계하는 것입니다.이를 위해서는 다양한 회선의 용량 설정과 함께 네트워크의 토폴로지를 모두 최적화해야 합니다.많은 경우 용량은 정수량으로 제한됩니다.일반적으로 사용되는 기술에 따라 정수 또는 이진 변수와 선형 부등식으로 모델링할 수 있는 추가적인 제한이 있습니다.
셀룰러 네트워크
GSM 모바일 네트워크에서의 주파수 계획 태스크는 사용자에게 서비스를 제공하고 [6]안테나 간의 간섭을 최소화하기 위해 안테나 간에 사용 가능한 주파수를 분배하는 것을 포함합니다.이 문제는 2진수 변수가 안테나에 주파수가 할당되어 있는지 여부를 나타내는 정수 선형 프로그램으로 공식화할 수 있습니다.
기타 응용 프로그램
알고리즘
ILP를 해결하는 간단한 방법은 x가 정수라는 제약을 제거하고 대응하는 LP(ILP의 LP 완화라고 함)를 해결한 다음 솔루션의 엔트리를 LP 완화로 반올림하는 것입니다.그러나 이 솔루션은 최적이지 않을 뿐만 아니라 실현 가능하지 않을 수도 있습니다. 즉, 일부 제약 조건을 위반할 수도 있습니다.
완전한 단일성을 사용하다
일반적으로 LP 완화에 대한 솔루션은 {\A b {\displaystyle A{의 형식을 가진 경우 통합될 수 . 서 ILP는 A x = b mathbf { {입니다. 정수 엔트리를 A A는 완전히 단일 모듈형입니다. 그러면 모든 기본 실행 가능한 솔루션이 필수적입니다.이것에 의해, 심플렉스 알고리즘에 의해서 반환되는 해는 적분이 보증된다.모든 기본 실현 가능한 해법이 적분임을 나타내려면x \{x를 임의의 기본 실현 가능한 해법으로 합니다displaystyle \ {는 하므로 A x = b A {x}) = \{ 1)로 합니다.는 기본 x의 기본 열에 대응하는 요소입니다.\ 의 정의에 따르면, 일부 정사각형 하위 가 있습니다 0 b {\ {x} _}=\ 。
B B의 열은 선형 이고 B B는 정사각형이므로 B B는 비음절이며, 따라서 B B는 단모듈러이므로 ± 스타일 )=\1)도B 스타일 B)이므로,가역적이므로 0 - {\}= 정의에 B - d d d d d ( B ) ± ( B^ {-1} = { {f {f {b}}}}}}}.는 관계를 나타내고 있으며 일체형이기 에 일체형입니다.그러므로,
따라서 ILP의 A A가 ILP 알고리즘을 사용하는 것이 아니라 완전히 단변형일 경우 심플렉스 방법을 사용하여 LP 완화를 풀 수 있으며, 그 해는 정수가 된다.
정확한 알고리즘
A A가 완전히 단일화되지 않은 경우 정수 선형 프로그램을 정확하게 해결하기 위해 사용할 수 있는 다양한 알