답변:
CPLEX의 "아버지"인 Bixby의 논문을 강력히 추천합니다. (개정 된) 심플 렉스 알고리즘의 측면을 구현하는 것뿐만 아니라 Robert E. Bixby , 실제 선형 프로그램 해결 : 10 년 이상의 진행 , 운영 연구 (50) 2002, 3-15 .
CLRS는 P가 아닙니다. CLRS는 실제로 "잘 작동"하지만 알고리즘이 기하 급수적으로 실행되도록하는 일부 입력이 있다고 말합니다. 이것은 구현이 아니라 알고리즘과 밀접한 관련이 있습니다. 알고리즘을 정확히 구현하는 방법과는 별도로이 문제에 직면하게됩니다. 그러나 LP는 P입니다. 이것은 1979 년 Khachian에 의해 증명되었지만 그의 타원체 알고리즘은 실용적이지 않습니다. 오늘날 내부 포인트 방법이 널리 사용됩니다. 첫 번째는 1984 년 Karmarkar에 의해 발견되었습니다.
실제 구현에 관심이 있다면 다음을 살펴보십시오.
학업 용으로 무료로 제공되는 GUROBI는 현재 사용 가능한 최고의 최적화 프로그램입니다 (순차 및 공유 메모리 병렬 버전 모두).
GLPK 라이브러리 :
http://www.gnu.org/software/glpk/
이 프로젝트는 다음을위한 구현을 제공하는 오픈 소스 프로젝트입니다.
때때로 기하 급수적으로 행동하는 것은 순진한 구현이 아닙니다. 사실, 모든 알려진 결정 론적 규칙과 무작위 규칙에는 초 다항식 최악의 경우가 있다고 생각합니다. 이 최악의 동작을 생성하는 알려진 입력은 대부분 구조화되어 있으며 관련 질문이 있습니다.
그러나 실제로 SM은 잘 작동합니다. 이것은 약간 교란 된 입력으로 기본적으로 최악의 경우 분석 인 스무딩 분석 을 도입하여 공식화되었습니다 . 이 분석에서 SM은 폴리 타임, 즉 모든 입력 (병리학 적 입력조차도)에 대해 알고리즘이 잘 수행 할 수 있도록 약간의 섭동이 있습니다. 이 통찰력은 폴리 타임에서 수행 되는 무작위 알고리즘 으로 변환되었습니다 . 그러나 내가 이해하는 한이 알고리즘이 '진정한'단순 알고리즘인지 여부에 대해서는 여전히 논쟁의 여지가 있습니다. 표준 패키지 가이 라인을 따라 무언가를 구현하는지 여부도 알지 못하지만 검색 결과 5 세 이상인 것으로 인해 검색하면 일부 구현을 찾을 수 있어야합니다.