정수 계획법
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
정수 계획법은 선형 계획법의 한 분야로, 해가 정수 값을 가져야 하는 제약 조건이 추가된 최적화 문제이다. 정수 계획법은 정규형과 표준형으로 표현되며, NP-난해 문제로 최소 정점 덮개 문제로의 환원을 통해 증명할 수 있다. 혼합 정수 선형 계획법, 0-1 선형 계획법과 같은 변형이 존재하며, 생산 계획, 스케줄링, 영토 분할, 통신망 설계, 셀룰러 네트워크 설계 등 다양한 분야에 응용된다. 정수 계획법은 전체 단일 모듈성을 활용하거나, 절단 평면법, 분기 한정법과 같은 정확한 알고리즘을 사용하여 해결할 수 있으며, 변수 개수가 적은 경우에도 다항 시간 내에 해결 가능한 알고리즘이 존재한다. 또한, 타부 탐색, 언덕 오르기, 시뮬레이티드 어닐링 등의 휴리스틱 방법을 통해 근사 해를 구할 수도 있다. 정수 계획법을 정의하는 행렬이 희소 행렬인 경우, 계산 효율성을 높일 수 있다.
더 읽어볼만한 페이지
정수 계획법 | |
---|---|
개요 | |
분야 | 수학, 컴퓨터 과학, 운영 연구 |
유형 | 수학적 최적화 |
관련 항목 | 선형 계획법, 조합 최적화 |
정의 | |
목표 | 정수 변수에 대한 제약 조건 하에 주어진 목적 함수를 최적화하는 문제 |
특징 | 해가 정수여야 한다는 제약 조건 |
응용 분야 | 스케줄링, 물류, 생산 계획, 금융 공학 등 |
유형 | |
순수 정수 계획법 | 모든 변수가 정수여야 하는 경우 |
혼합 정수 계획법 | 일부 변수만 정수인 경우 |
0-1 정수 계획법 | 변수가 0 또는 1의 값만 가질 수 있는 경우 |
해법 | |
절단 평면법 | 선형 계획법 완화 문제의 해를 이용하여 정수 조건을 만족하는 해를 찾는 방법 |
분기 한정법 | 문제 공간을 분할하고 각 부분 문제에 대한 최적해의 상한과 하한을 계산하여 탐색 범위를 좁혀가는 방법 |
휴리스틱 | 최적해를 보장하지는 않지만, 실행 가능한 해를 빠르게 찾을 수 있는 방법 |
복잡도 | |
NP-hard | 정수 계획법 문제는 일반적으로 NP-hard에 속함 |
해결 가능성 | 문제의 크기가 커질수록 해결이 어려워짐 |
관련 연구 | |
조합 최적화 | 정수 계획법은 조합 최적화 문제 해결에 널리 사용됨 |
선형 계획법 | 정수 계획법은 선형 계획법의 확장된 형태로 볼 수 있음 |
2. 정수 계획법의 정규형과 표준형
정수 선형 계획법에서 정규형은 표준형과 구별된다.[3] 정규형과 표준형은 다음과 같다.
- 정규형(Canonical Form): 결정해야 하는 것은 벡터이다.
- 표준형(Standard Form): 여기서 는 벡터이고, 는 행렬이다. 선형 계획법과 마찬가지로, 표준형이 아닌 ILP는 부등식을 제거하고 슬랙 변수()를 도입하며, 부호가 제한되지 않은 변수를 두 개의 부호가 제한된 변수의 차이로 대체하여 표준형으로 변환할 수 있다.
2. 1. 정규형 (Canonical Form)
정수 선형 계획법에서 정규형은 표준형과 구별된다.[3] 정규형의 정수 선형 계획법은 다음과 같이 표현된다. (결정해야 하는 것은 벡터이다.):
2. 2. 표준형 (Standard Form)
표준형 정수 선형 계획법(ILP)은 다음과 같이 표현된다.[3]:
여기서 는 벡터이고, 는 행렬이다. 선형 계획법과 마찬가지로, 표준형이 아닌 ILP는 부등식을 제거하고 슬랙 변수()를 도입하며, 부호가 제한되지 않은 변수를 두 개의 부호가 제한된 변수의 차이로 대체하여 표준형으로 변환할 수 있다.
3. NP-난해성 증명
정점 덮개에서 정수 계획법으로 환원하는 방법은 NP-난해성을 증명하는 데 사용된다.[4]
무방향 그래프 가 주어지면, 다음과 같은 선형 계획법을 정의할 수 있다.[4]
:
는 0 또는 1로 제한되므로, 정수 계획법에서 실행 가능한 모든 해는 정점의 부분 집합을 나타낸다. 첫 번째 제약 조건은 모든 간선의 적어도 하나의 끝점이 이 부분 집합에 포함되어야 함을 의미하며, 이는 해가 정점 덮개를 나타낸다는 것을 뜻한다. 어떤 정점 덮개 C가 주어지면, 일 때 를 1로, 일 때 0으로 설정하여 정수 계획법의 실행 가능한 해를 얻을 수 있다. 따라서 의 합을 최소화하면 최소 정점 덮개를 찾을 수 있다.[4]
4. 변형 (Variants)
정수 계획법에는 여러 변형이 있다. 혼합 정수 선형 계획법(MILP)은 일부 변수만 정수로 제한하는 문제이고, 0-1 선형 계획법(또는 이진 정수 계획법)은 변수가 0 또는 1의 값만 가지도록 제한하는 문제이다.[5]
4. 1. 혼합 정수 계획법 (Mixed Integer Linear Programming, MILP)
혼합 정수 선형 계획법(MILP)은 일부 변수만 정수로 제한되고, 다른 변수는 정수가 아닌 값을 허용하는 문제를 포함한다.[5]4. 2. 0-1 정수 계획법 (0-1 Integer Programming, Binary Integer Programming)
0-1 선형 계획법(또는 이진 정수 계획법)은 변수가 0 또는 1로 제한되는 문제를 포함한다. 임의의 유계 정수 변수는 이진 변수의 조합으로 표현될 수 있다.[5] 예를 들어, 정수 변수 가 주어지면, 이 변수는 개의 이진 변수를 사용하여 표현할 수 있다.:
5. 응용 분야
정수 계획법은 현실의 다양한 문제에 적용될 수 있다. 정수 변수가 사용되는 주요 이유는 다음과 같다.
- 정수 표현: 3.7대의 자동차와 같이 정수만 가능한 수량을 나타낼 때 사용된다.
- 결정 표현: 그래프에 간선을 포함할지 여부와 같이 0 또는 1로 결정을 나타낼 때 사용된다.
이러한 이유로 정수 선형 계획법은 다양한 분야에서 활용된다.
- 생산 계획: 농업 생산 계획에서 자원 제약 하에 총 생산량을 최대화하는 데 사용된다.
- 스케줄링: 지하철과 같은 대중교통 시간표를 준수하고 운전자를 배정하는 문제를 해결하는 데 사용된다.
- 영토 분할: 정치, 학교, 의료 등 다양한 분야에서 특정 기준에 따라 지리적 구역을 나누는 문제에 적용된다.[1]
- 통신망 설계: 통신 요구 사항을 충족하고 총비용을 최소화하는 네트워크 설계에 사용된다.[6]
- 셀룰러 네트워크: GSM 이동 통신망에서 주파수 할당 문제를 해결하는 데 사용된다.[7]
이 외에도 현금 흐름 매칭, 에너지 시스템 최적화[8][9], 무인 항공기(UAV) 유도 시스템[10][11], 대중교통 노선도 배치[12] 등 다양한 분야에 응용될 수 있다.
5. 1. 생산 계획 (Production Planning)
혼합 정수 계획법은 작업장 모델링을 포함하여 산업 생산에 여러 응용 분야가 있다. 중요한 예시 중 하나는 농업 생산 계획에서 발생하며, 토지, 노동력, 자본, 종자, 비료 등 자원을 공유할 수 있는 여러 작물의 생산량을 결정하는 것이다. 가능한 목표는 사용 가능한 자원을 초과하지 않으면서 총 생산량을 최대화하는 것이다. 경우에 따라 이는 선형 계획법으로 표현될 수 있지만, 변수는 정수로 제한되어야 한다.5. 2. 스케줄링 (Scheduling)
이러한 문제들은 운송 네트워크에서 서비스 및 차량 스케줄링과 관련이 있다. 예를 들어, 시간표를 준수하고 운전자를 배정하기 위해 버스나 지하철을 개별 노선에 할당하는 문제가 있을 수 있다. 여기서 이진 결정 변수는 버스나 지하철이 노선에 할당되는지 여부와 운전자가 특정 열차 또는 지하철에 할당되는지 여부를 나타낸다. 0-1 프로그래밍 기법은 프로젝트들이 상호 배타적이거나 기술적으로 상호 의존적인 프로젝트 선택 문제를 해결하는 데 성공적으로 적용되었다. 이것은 모든 결정 변수가 정수인 정수 계획법의 특수한 경우에 사용된다. 변수는 0 또는 1의 값만 가질 수 있다.5. 3. 영토 분할 (Territorial Partitioning)
영토 분할은 지리적 구역을 특정 기준에 따라 나누는 문제를 해결하는 데 사용된다. 정치, 학교, 의료 서비스, 폐기물 관리 등 다양한 분야의 구획 문제에 적용될 수 있다.[1]이러한 문제에는 인접성, 집약성, 균형 또는 공정성, 자연 경계 존중, 사회 경제적 동질성 등 몇 가지 요구 사항이 있다.[1]
5. 4. 통신망 설계 (Telecommunications Networks)
미리 정의된 통신 요구 사항을 충족하고 네트워크의 총비용을 최소화하도록 선로 네트워크를 설계하는 것이 목표이다.[6] 이를 위해 네트워크의 토폴로지와 다양한 선로의 용량을 최적화해야 한다. 많은 경우 용량은 정수량으로 제한된다. 일반적으로 사용되는 기술에 따라 정수 또는 이진 변수를 사용하여 선형 부등식으로 모델링할 수 있는 추가 제약 조건이 있다.5. 5. 셀룰러 네트워크 (Cellular Networks)
GSM 이동 통신망에서의 주파수 계획 과제는 사용자를 지원하고 안테나 간의 간섭을 최소화하기 위해 사용 가능한 주파수를 안테나에 분배하는 것을 포함한다.[7] 이 문제는 주파수가 안테나에 할당되었는지를 나타내는 이진 변수를 사용하는 정수 선형 계획법으로 공식화될 수 있다.5. 6. 기타 응용 분야
- 현금 흐름 매칭
- 에너지 시스템 최적화[8][9]
- 무인 항공기(UAV) 유도 시스템[10][11]
- 대중교통 노선도 배치[12]
6. 알고리즘
정수 계획법(ILP) 문제를 해결하기 위한 다양한 알고리즘이 개발되었다.
정수 계획법 문제를 푸는 간단한 방법은 정수 제약을 제거하고 선형 계획법(LP) 완화를 푼 다음, 그 해를 반올림하는 것이다. 그러나 이 방법은 최적해가 아니거나 실행 불가능할 수 있다.
절단 평면법은 선형 계획법 완화를 풀고 정수 해를 제외하지 않으면서 해를 정수로 만드는 선형 제약 조건을 추가한다. 분기 한정법과 절단 평면법을 결합한 분기 절단법도 사용된다.
NP-난해 문제의 특성상, 큰 문제에서는 최적해를 찾는 것이 현실적으로 어려울 수 있다. 타부 탐색[24], 시뮬레이티드 어닐링, 유전 알고리즘 등 다양한 휴리스틱 기법을 사용하여 근사해를 찾는다. 하지만 이러한 방법은 해를 찾지 못할 경우 실행 가능한 해가 없는 것인지, 아니면 단순히 알고리즘이 해를 찾지 못한 것인지 판단하기 어렵고, 구한 해가 최적해에 얼마나 가까운지 정량화하기 어렵다는 단점이 있다.
6. 1. 전체 단일 모듈성 (Total Unimodularity) 활용
일반적으로 선형 계획법(LP) 완화의 해가 정수임을 보장할 수 없지만, 정수 계획법(ILP)이 형태를 가지며, 에서 와 의 모든 항목이 정수이고, 가 전체 단일 모듈러인 경우, 모든 기저 가능 해는 정수이다. 결과적으로, 심플렉스 알고리즘에 의해 반환된 해는 정수임을 보장한다.모든 기저 가능 해가 정수임을 증명하기 위해, 를 임의의 기저 가능 해라고 하자. 가 가능하므로, 이다. 를 기저 해 에 대한 기저 열에 해당하는 요소라고 하자. 기저의 정의에 따라, 를 만족하는 선형 독립적인 열을 가진 의 어떤 정사각 부분 행렬 가 존재한다.
의 열은 선형 독립이고 는 정사각 행렬이므로, 는 비특이 행렬이고, 따라서 가정에 의해 는 단일 모듈러이며 이다. 또한, 는 비특이 행렬이므로 가역적이며, 따라서 이다. 정의에 따라, 이다. 여기서 는 의 수반 행렬을 나타내며, 가 정수이므로 수반 행렬도 정수이다. 따라서,
:
결론적으로, ILP의 행렬 가 전체 단일 모듈러인 경우, ILP 알고리즘을 사용하는 대신 심플렉스 방법을 사용하여 LP 완화를 풀 수 있으며, 그 해는 정수이다.
6. 2. 정확한 알고리즘 (Exact Algorithms)
절단 평면법은 선형 계획법 완화를 풀고 정수 실행 가능점을 제외하지 않으면서 해를 정수로 유도하는 선형 제약 조건을 추가하는 방식으로 작동한다.분기 한정법의 변형 알고리즘도 사용되는데, 예를 들어 분기 한정법과 절단 평면법을 모두 결합한 분기 절단법이 있다. 분기 한정 알고리즘은 절단 평면만 사용하는 알고리즘보다 여러 가지 장점이 있다. 한 가지 장점은 알고리즘을 조기에 종료할 수 있으며, 최소한 하나의 정수 해를 찾으면 실행 가능하지만 반드시 최적은 아닌 해를 반환할 수 있다는 것이다. 또한, 선형 계획법 완화의 해는 반환된 해가 최적성에서 얼마나 떨어져 있는지에 대한 최악의 경우 추정치를 제공하는 데 사용할 수 있다. 마지막으로, 분기 한정법은 여러 개의 최적 해를 반환하는 데 사용할 수 있다.
6. 3. 변수 수가 적은 경우의 정확한 알고리즘
가 ''m'' × ''n'' 정수 행렬이고 가 ''m'' × 1 정수 벡터라고 가정할 때, 를 만족하는 ''n'' × 1 벡터 가 존재하는지 여부를 결정하는 실행 가능성 문제를 생각해 보자.''V''를 와 의 계수의 최대 절댓값이라고 할 때, ''n'' (변수의 수)이 고정된 상수라면 실행 가능성 문제는 ''m''과 log ''V''에 대한 다항 시간 내에 해결될 수 있다. ''n''=1인 경우는 자명하며, ''n''=2인 경우는 1981년에 허버트 스카프에 의해 해결되었다.[13] 일반적인 경우는 1983년 헨드릭 렌스트라에 의해 해결되었으며, 러슬로 러바츠와 피터 반 엠데 보아스의 아이디어를 결합했다.[14] 도이뇽 정리는 모든 제약 조건의 부분 집합이 실행 가능할 때 정수 계획법이 실행 가능하다는 것을 보여준다.
0-1 ILP의 특별한 경우, 렌스트라의 알고리즘은 가능한 모든 해(2''n'')를 열거하고 각 해의 실행 가능성을 확인하는 방식으로 작동한다. 일반적인 경우에는 수의 기하학의 아이디어를 사용하여 원래 문제를 더 풀기 쉬운 동등한 문제로 변환한다.
렌스트라 알고리즘의 실행 시간 복잡성은 여러 단계로 개선되었다.
이러한 알고리즘은 일부 변수는 정수이고 일부 변수는 실수인 혼합 정수 선형 계획법(MILP)에도 사용할 수 있다.[23]
6. 4. 휴리스틱 방법 (Heuristic Methods)
NP-난해 문제의 특성상, 대규모 문제에서는 최적해를 찾는 것이 현실적으로 어려울 수 있다. 타부 탐색[24], 시뮬레이티드 어닐링, 유전 알고리즘 등 다양한 휴리스틱 기법을 사용하여 근사해를 찾는다.타부 탐색을 사용하여 정수 선형 계획법(ILP)의 해를 탐색할 때, 이동은 다른 모든 정수 제약 변수를 상수로 유지하면서 실행 가능한 해의 정수 제약 변수를 증가시키거나 감소시키는 것으로 정의할 수 있다. 그런 다음 제한 없는 변수에 대한 해를 구한다. 단기 메모리는 이전에 시도한 해로 구성될 수 있으며, 중기 메모리는 높은 목적 값(ILP가 최대화 문제라고 가정)을 얻은 정수 제약 변수의 값으로 구성될 수 있다. 마지막으로, 장기 메모리는 이전에 시도하지 않은 정수 값으로 탐색을 안내할 수 있다.
ILP에 적용할 수 있는 다른 휴리스틱 방법에는 언덕 오르기, 시뮬레이티드 어닐링, 반응 탐색 최적화, 개미 집단 최적화, 호프필드 신경망 등이 있다. k-opt 휴리스틱과 같이 다양한 문제 특정 휴리스틱도 있다.
휴리스틱 방법의 단점은 해를 찾지 못할 경우, 실행 가능한 해가 없어서인지 아니면 알고리즘이 단순히 해를 찾을 수 없었는지 결정할 수 없다는 것이다. 또한, 이러한 방법으로 반환된 해가 최적의 해에 얼마나 가까운지 정량화하는 것은 일반적으로 불가능하다.
7. 희소 정수 계획법 (Sparse Integer Programming)
정수 계획법에서 행렬 는 희소 행렬인 경우가 많다. 이는 특히 행렬이 여러 응용 분야에서 나타나는 블록 구조를 가질 때 발생한다. 행렬의 희소성은 다음과 같이 측정할 수 있다. 의 ''그래프''는 의 열에 해당하는 꼭짓점을 가지며, 두 열이 모두 0이 아닌 항목을 가진 행을 에서 공유하면 두 열은 가장자리를 형성한다. 이는 꼭짓점이 변수에 해당하고, 두 변수가 부등식을 공유하는 경우 가장자리를 형성하는 것과 같다. 의 ''희소성 측정'' 는 그래프와 의 전치 그래프의 트리-깊이 중 작은 값이다. 의 ''수치적 측정'' 는 의 모든 항목의 절댓값 중 가장 큰 값으로 정의된다. 정수 계획법의 변수 개수를 이라고 할 때, 2018년에 와 를 매개변수로 하는 강력하게 다항 시간 및 고정 매개변수 추적 가능 시간 안에 정수 계획법을 해결할 수 있다는 것이 밝혀졌다.[25] 즉, 계산 가능한 함수 와 상수 에 대해 정수 계획법은 시간에 해결될 수 있다. 특히, 이 시간은 우변 및 목적 함수 와는 독립적이다. 또한, 변수 개수 이 매개변수인 렌스트라(Lenstra)의 고전적인 결과와는 달리, 이 경우 변수 개수 은 입력의 가변적인 부분이다.
8. 정수 계획법으로 해결되는 문제의 예 (일본어 문서)
다음은 정수 계획법으로 해결할 수 있는 문제들이다.
9. 참고 도서 (일본어 문서)
- 곤노 히로시, 《정수 계획법》, 산교도쇼, 1981.
- 곤노 히로시, 스즈키 히사토시 편저, 《정수 계획과 조합 최적화》, 닛카기렌, 1982.
- 쿠보 미키오, 타무라 아키히사, 마츠이 토모키 편, 《응용 수리 계획 핸드북》, 아사쿠라 서점, 2002.
참조
[1]
서적
Complexity of Computer Computations
New York: Plenum
[2]
웹사이트
Mixed-Integer Linear Programming (MILP): Model Formulation
http://macc.mcmaster[...]
2018-04-16
[3]
서적
Combinatorial optimization: algorithms and complexity
Dover
[4]
웹사이트
Integer Programming Reduction
https://courses.engr[...]
[5]
서적
Logic and integer programming
[6]
웹사이트
Designing telecommunication networks by integer programming
http://www.zib.de/gr[...]
[7]
웹사이트
Frequency Planning
http://www.slideshar[...]
[8]
간행물
Optimal scheduling of a renewable micro-grid in an isolated load area using mixed-integer linear programming
http://www.sciencedi[...]
2010-01-01
[9]
간행물
Distributed energy resource system optimisation using mixed integer linear programming
http://www.sciencedi[...]
2013-10-01
[10]
서적
2005 IEEE Aerospace Conference
2005
[11]
간행물
Flight formation of UAVs in presence of moving obstacles using fast-dynamic mixed integer linear programming
2016-03-01
[12]
arXiv
Efficient Generation of Geographically Accurate Transit Maps
2017-10-05
[13]
간행물
Production Sets with Indivisibilities, Part I: Generalities
https://www.jstor.or[...]
1981
[14]
간행물
Integer Programming with a Fixed Number of Variables
https://pubsonline.i[...]
1983-11-01
[15]
conference
Proceedings of the AMS Special Session on Algebraic and Geometric Methods in Applied Discrete Mathematics held in San Antonio, TX, January 11, 2015
American Mathematical Society
[16]
간행물
Minkowski's Convex Body Theorem and Integer Programming
https://pubsonline.i[...]
1987-08-01
[17]
간행물
Polynomiality for Bin Packing with a Constant Number of Item Types
2020-11-07
[18]
간행물
An application of simultaneous diophantine approximation in combinatorial optimization
https://doi.org/10.1[...]
1987-03-01
[19]
간행물
Complexity of efficient and envy-free resource allocation: few agents, resources, or utility levels
https://dl.acm.org/d[...]
AAAI Press
2016-07-09
[20]
서적
Proceedings of the 2019 ACM Conference on Economics and Computation
Association for Computing Machinery
2019-06-17
[21]
문서
Integer Programming, Lattice Algorithms, and Deterministic Volume Estimation
https://homepages.cw[...]
2012-06-14
[22]
문서
The Subspace Flatness Conjecture and Faster Integer Programming
https://arxiv.org/ab[...]
2023-03-26
[23]
웹사이트
FPT algorithm for mixed integer program
https://cstheory.sta[...]
2024-05-21
[24]
간행물
Tabu search-Part II
[25]
conference
45th International Colloquium on Automata, Languages, and Programming, ICALP 2018, July 9–13, 2018, Prague, Czech Republic
Schloss Dagstuhl – Leibniz-Zentrum für Informatik
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com