문제

Solver와 함께 사용할 모델을 Excel로 만들었습니다. 대부분 작동합니다. 유일한 문제는 솔버가 실제로 바이너리로 제한된 세포를 적절하게 처리하지 않는다는 것입니다. 솔루션을 찾을 때 일부 숫자는 실제로 0.999996, 1.0000000003, 0.0000017 등입니다.

Mac OS X에서 Excel 2004를 사용하고 있습니다. 아이디어가 있습니까?

도움이 되었습니까?

해결책

컴퓨터의 유한 정밀도와 최적화 알고리즘의 특성으로 인해 솔버에는 공차가 내장되어 있습니다. 솔버 매개 변수 대화 상자에서 옵션 버튼을 선택한 다음 정밀도를 늘리려고합니다 (기본값 0.000001 ~ 0.0000000). . 이것이 효과가 있는지 확실하지 않지만 시도해 볼 가치가 있습니다.

우리 회사는 상업적 등급의 솔버를 사용하여 What 'sbest라고 불리는 Excel을 만듭니다. 위의 작동이 작동하지 않으면 고려할 수 있습니다. www.lindo.com에서 추가 정보를 찾을 수 있습니다

다른 팁

이진 값이 0 또는 1에서 멀리 떨어져 있으면 솔버 창의 옵션으로 이동하여 "정수 제약을 무시하는 경우"상자가 확인해야 할 수도 있습니다.

Solver가 허용되는 시간 프레임 또는 반복 숫자 내에 솔루션을 찾을 수없는 경우 (또는 정답이없는 경우) 이진 답변을 반환하지 않습니다.

한 번의 가능한 작업 계약, 문제의 유형에 따라 당신은 해결하려고합니다 그리고 당신이 얼마나 정확한 대답이 필요한가, contstraints와 함께 몇 개의 세포 (계산하는 세포에서 가장 작은 값이있는 셀)를 설정하는 것입니다. <=1 그리고 >=0 이진보다는. 당신이 제공 한 이미지가 나타나지 않으므로, 당신이 무엇을 추구했는지 정확히 모르겠습니다.

(이진으로 설정되지 않은 셀에 대한 세포가있는 셀을 설정하는 것이 도움이 될 수 있습니다. 아래 참조).

예를 들어, 총 22 개 (해결책이없는)를 해결하려고한다면 다음부터 시작합니다.

9   1
9   1
9   1
6   1
3   1

두 번째 열의 모든 값을 이진으로 설정하면 다음으로 끝납니다.

9   0.5625
9   0.5625
9   0.5625
6   0.708333333
3   0.854166667

처음 3을 이진으로 설정하고 마지막 두 개를 <=1 & >=0, 당신은 다음과 같이 끝납니다.

9   0
9   1
9   1
6   0.333333333
3   0.666666667

마지막 두 행 = 4의 합산물은 대상 아래 또는 그 이상으로 답을 원하는지 여부에 따라 마지막 두 개 중 하나를 1로, 다른 0을 수동으로 설정하는 데 사용할 수 있습니다.

비슷한 문제가 있었고 솔버 옵션으로 가서 "자동 스케일링 사용"을 확인하여 해결할 수 있습니다. 나는 이것이 당신의 문제를 해결할 것이라고 확신하지 않지만 시도해 볼 가치가 있습니다.

아마도 당신의 문제는 아니지만 Ignore Integer Constraints Excel Solver에서 기본적으로 확인되는 옵션에서 확인란. 적어도 그게 Mac 용 Excel 2011 사본의 경우입니다.

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