내부 포인트 방법을 사용하여 선형 프로그래밍에 대한 정확한 코너 솔루션 찾기


11

심플 렉스 알고리즘은 선형 프로그래밍 문제에 대한 최적의 솔루션을 찾기 위해 폴리 토프 모서리에 탐욕스럽게 따라갑니다. 결과적으로 답은 항상 폴리 토프의 모서리입니다. 내부 점 방법은 폴리 토프 내부를 걷습니다. 결과적으로, 폴리 토프의 전체 평면이 최적 일 때 (목적 함수가 평면과 정확히 평행 한 경우)이 평면의 중간에 솔루션을 얻을 수 있습니다.

대신에 폴리 토프의 모서리를 찾고 싶다고 가정하십시오. 예를 들어 선형 프로그래밍으로 줄여서 최대 매칭을하려면 "일치 XY의 0.34 %와 AB AB의 0.89 %를 포함하는 매칭"을 원하지 않습니다. 우리는 0과 1로 답을 원합니다 (모든 모서리가 0과 1로 구성되어 있기 때문에 단면이 우리에게 줄 것입니다). 다항식 시간에 정확한 코너 솔루션을 찾도록 보장하는 내부 포인트 방법으로이를 수행하는 방법이 있습니까? (예를 들어 모서리를 선호하도록 목적 함수를 수정할 수 있습니다)


1
@ JD : 왜 대답하지 않습니까?
Raphael

답변:


6

논문을 읽고 싶을 수도 있습니다.

Sanjay Mehrotra, 내부 포인트 방법, Linear Algebra 및 그 응용, Volume 152, 1991 년 7 월 1 일, 페이지 233-253, ISSN 0024-3795, 10.1016 / 0024-3795 (91) 90277-4를 사용하여 정점 솔루션을 찾는 중. 과학직 기사 링크


4

일반적으로 문제는 이해가 되겠지만, 많은 알고리즘 (최대 카디널리티 이분자 일치에 대한 최대 흐름, 비이 물자 일치에 대한 Edmonds의 알고리즘, 최대 무게의 이분자 일치에 대한 헝가리어 알고리즘)이 있기 때문에 최대 일치를 예로 선택하는 것이 이상합니다. 그것은 모두 문제에 대한 정수 정점 솔루션을 줄 것입니다.


그것은 실용적이기보다는 이론적 인 관심사였습니다. 여전히 내부 포인트 방법이 심플 렉스보다 빠르기 때문에 이것이 실제 문제인 문제가있을 수 있습니다.)
Jules

3

세부 사항이 없기 때문에 이것은 더 긴 주석입니다.

Karmarkar의 다항식 시간 알고리즘 은 가장자리 근처 에서만 이동 합니다. 결국, 정제 계획 ¹을 사용하여 최적 인 적합한 기본 용액 (예 : 코너)을 찾습니다 . 이 기법 또는 유사한 기법을 사용하여 평면에서 모서리로 이동할 수 있습니다.


¹ Karmarkar의 원본 용지 에 넣을 수 없습니다 . 저의 참고 문헌은 Hamacher와 Klamroth의 "Lineare Optimierung und Netzwerkoptimierung"(영어 : 선형 및 네트워크 최적화)이며 독일어와 영어 텍스트가 나란히 있습니다.


1

예, 간단한 방법이 있으며 내부 포인트 방법의 속도와 단순 방법의 정확도를 결합하기 위해 C ++로 구현했습니다 (기본 행렬의 역수에 대한 반복적 정제를 사용하여 10 ^ 15에서 1 부분의 정확도를 얻을 수 있음) 1000 개 이상의 변수와 제약 조건이있는 밀도가 높은 제약 조건 매트릭스에 더 좋습니다).

열쇠는 당신이 사용하는 단순한 방법에 있습니다. 심플 렉스 방법에 기초를 리팩토링하는 메커니즘이 있다고 가정하고 (예 : 누적 반올림 오류로 인해 필요한 경우),이 리팩토링 방법은 원하는 모든 기본 변수 목록을 포함하는 베이시스에 대한 기본 역행렬을 단순히 다시 생성한다고 가정하십시오. 또한 원하는 기준을 완전히 다시 만들 수 없더라도 심플 렉스 알고리즘이 목표 기준의 95 %를 포함하는 기준에서 계속할 수 있다고 가정하면 그 대답은 매우 간단합니다.

내부 포인트 방법에서 솔루션을 가져 와서 보완 적 여유로 1 차 솔루션 값이 0으로 암시되는 변수를 제거하고 b의 단순 문제에서 기본 크기가 주어지면 내부에서 b 변수를 가져옵니다. 가장 큰 값을 가진 점 솔루션 (또는 b보다 작은 값이 0이 아닌 값)과 b 변수를 포함하도록 단순 기수를 리팩토링하십시오. 그런 다음 해결 될 때까지 단순 방법을 계속하십시오. 마무리 문제에 가까운 단면 문제를 시작하기 때문에 일반적으로 매우 빠릅니다.

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