Top

simplex method 예제

큰 선형 프로그래밍 문제에서 A는 일반적으로 희소 행렬이며, B의 결과 희소성이 반전 표현을 유지할 때 악용될 때 수정된 심플렉스 알고리즘은 표준 심플렉스 방법보다 훨씬 효율적입니다. 상용 심플렉스 솔버는 개정된 심플렉스 알고리즘을 기반으로 합니다. [24] [25] [26] [27] [28] 따라서 피벗이 정규화되고(해당 값은 1이 됨) 피벗 열의 다른 값이 취소됩니다(가우스-요르단 방법과 유사). 이 예에서 18/2 [=9] , 42/2 [=21] 및 24/3 [=8] 두 번째, 나머지 각 부등식 제약 조건에 대해 슬랙 변수라고 하는 새 변수가 도입되어 제약 조건을 같음 제약 조건으로 변경합니다. 이 변수는 부등식의 두 측면 간의 차이를 나타내며 음수가 아닌 것으로 가정합니다. 예를 들어, 불평등 조지 Dantzig는 책상 계산기를 사용하여 차 세계 대전 동안 미 육군 공군에 대한 계획 방법에 근무. 1946년 그의 동료는 그에게 다른 직업을 취하지 못하도록 계획 과정을 기계화하라고 권유했습니다. Dantzig는 바실리 레온티프의 작품에서 영감을 선형 불평등으로 문제를 공식화, 그러나, 그 당시 그는 자신의 공식의 일환으로 목표를 포함하지 않았다. 목표가 없으면 수많은 솔루션이 실현 가능할 수 있으므로 목표 자체를 지정하는 대신 목표를 달성하는 방법을 설명하는 군사 지정 “기본 규칙”을 사용해야 합니다.

Dantzig의 핵심 통찰력은 이러한 기본 규칙이 대부분 최대화해야 하는 선형 객관적 함수로 변환될 수 있다는 것을 깨닫는 것이었습니다. [13] 심플렉스 방법의 개발은 진화적이었으며 약 1년 동안 일어났다. [14] 마지막 행은 다음과 같이 계산됩니다: Zj = Σ(Cbi· Pj)에 대한 i = 1.m, 여기서 j = 0, P0 = bi 및 C0 = 0, 다른 Pj = aij. 이것은 Simplex 메서드의 첫 번째 tableau이며 모든 Cb는 null이므로 계산이 단순화 될 수 있으므로 이번에는 Zj = -Cj. 다음 문제를 사용하여 해결하십시오 : Dantzig가 그의 제형의 일부로 객관적인 함수를 포함 한 후 1947년 중반, 이 문제는 수학적으로 더 견인할 수 있는 문제였다. Dantzig는 교수 인 저지 네이먼 (Jerzy Neyman)의 수업에서 숙제로 착각한 미해결 문제 중 하나가 선형 프로그램에 대한 알고리즘을 찾는 데 적용 가능하다는 것을 깨달았습니다. 이 문제는 변수의 연속체에 걸쳐 일반 선형 프로그램에 대한 Lagrange 승수의 존재를 찾는 포함, 각각 0과 1 사이에 경계, Lebesgue 적분의 형태로 표현 선형 제약 조건을 만족. Dantzig는 나중에 박사 학위를 취득하기 위한 논문으로 자신의 “숙제”를 발표했습니다. 이 논에 사용된 기둥 지오메트리는 Dantzig 통찰력을 주어 심플렉스 방법이 매우 효율적이라고 믿게 했습니다. [15] 열 2, 3 및 4를 피벗 열로 선택할 수 있으며, 이 예제열 4가 선택된다. 피벗 행으로 행 2와 3을 선택하여 발생하는 z 값은 각각 10/1 = 10및 15/3 = 5입니다.

이 중 최소값은 5이므로 행 3은 피벗 행이어야 합니다. 피벗을 수행하면 이전 분할에서 양수 지수가 낮아진 피벗 열의 용어는 베이스를 떠나는 여유 변수의 행을 나타냅니다. 이 예제에서는 X5(P5)이며 계수는 3입니다. 이 행을 피벗 행(녹색)이라고 합니다. 수학 최적화에서 Dantzig의 심플렉스 알고리즘(또는 심플렉스 방법)은 선형 프로그래밍을 위한 인기 있는 알고리즘입니다. [1] 먼저 입력 기본 변수가 결정됩니다. 이를 위해 Z 행의 값이 모든 네거티브 중 더 작은 값이 선택된 열이 선택됩니다. 이 예제에서는 -3을 계수로 하는 가변 X1(P1)입니다. 선형 프로그램을 표준 형태로 1로 변환하는 것은 다음과 같이 이루어질 수 있다. [16] 먼저, 0이 아닌 하한을 가진 각 변수에 대해 변수와 바운드 의 차이를 나타내는 새 변수가 도입됩니다.