문제

다음 문제로 문제 (테이블 레이아웃 알고리즘)를 줄였습니다.

n 변수 x가 있다고 상상해보십시오1, x2, ..., xN. 나는 또한 (결정되지 않은) 몇 가지 불평등이 있습니다.

엑스1 >= 2
엑스2 + x3 >= 13
등.

각 불평등은 하나 이상의 변수의 합계이며> = 연산자를 사용하여 항상 상수와 비교됩니다. 나는 매번 얼마나 많은 불평등을 가질 수 있는지 미리 말할 수는 없지만, 모든 변수는 무분별하지 않아야하므로 이미 각 변수에 대해 하나입니다.

이러한 방식 으로이 시스템을 해결하는 방법, 변수의 값이 가능한 한 작다는 방법은 무엇입니까?

추가 : Wikipedia 기사를 읽고 변수가 정수 여야한다는 것을 언급하는 것을 잊어 버렸습니다. 이것이 NP- 하드로 만들어?

도움이 되었습니까?

해결책

xi가 선형 제약 조건을 만족시키는 x1 + x2 + 최소화 ... 선형 프로그래밍이라고합니다. 세부적으로 다루어집니다 위키 백과

다른 팁

당신이 가진 것은 매우 기본입니다 선형 프로그래밍 문제. 방정식을 최대화하려고합니다 X_1 + ... + X_n 대상

X_1 >= 2
X_2 + X_3 >= 13
etc.

이러한 유형의 문제를 해결하기위한 많은 알고리즘이 있습니다. 가장 잘 알려진 것은 심플 렉스 알고리즘 심플 렉스 알고리즘이 (문제 크기에서) 해결하기 위해 기하 급수적으로 많은 단계를 요구하는 LP 문제가 있지만 평균 경우에 특정 경고 (특정 경고 포함)를 매우 효율적으로 해결할 수 있습니다.

LP 솔버의 다양한 구현이 존재합니다. 예를 들어 lp_solve 대부분의 요구 사항을 충족해야합니다

선형 모델을 NEOS 플랫폼에 직접 게시 할 수도 있습니다 (http://neos.mcs.anl.gov/neos/solvers/index.html). 먼저해야 할 일은 AMPL과 같은 대수 언어로 모델을 작성하는 것입니다. 그런 다음 NEOS는 모델을 해결하고 이메일로 결과를 반환합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top