2009-08-25 3 views
4

Excel에서 Solver와 함께 사용할 모델을 만들었습니다. 그것은 주로 작동합니다. 유일한 문제는 Solver가 실제로 바이너리로 제한된 셀을 제대로 처리하지 못한다는 것입니다. 솔루션 찾기가 완료되면 실제로 숫자 중 일부는 0.9999996, 1.0000000003, 0.0000017 등입니다.Excel Solver가 이진 제한을 준수하지 않음

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

답변

2

컴퓨터의 유한 정밀도와 최적화 알고리즘의 특성으로 인해 솔버에는 허용 오차가 내장되어 있습니다. 솔버 매개 변수 대화 상자에서 옵션 버튼을 선택한 다음 정밀도를 높이려고합니다. 0.000001 내지 0.00000001). 이 방법이 효과가 있는지는 잘 모르겠지만 시도해 볼 가치가 있습니다.

우리 회사는 What'sBest라는 Excel에 연결 한 상업용 등급 솔버를 만듭니다. 위의 방법으로 문제가 해결되지 않으면 고려해보십시오. www.lindo.com에서 자세한 정보를 찾을 수 있습니다.

+0

사실, 기본 정밀도는 5였습니다.이 값을 0으로 변경했는데 효과가있는 것 같습니다. 가변 변수가 바이너리라고 가정하면 이상하게도 정밀도를 따라야합니다! : S 고마워! –

9

이진 값이 0 또는 1에 미치지 못하는 경우 해 찾기 창에서 옵션으로 이동하여 "정수 제약 무시"확인란이 선택되어 있는지 확인해야합니다.

+0

이것은 나를 위해 일한 해결책이었습니다. – ChrisC

1

아마도 문제가 아니지만 Excel 해 찾기에서 기본적으로 선택되는 옵션에 Ignore Integer Constraints 체크 박스가 있음을 유의하십시오. 적어도 Mac 용 Excel 2011 사본의 경우입니다.

2

솔버가 허용되는 시간 프레임 또는 반복 횟수 내에 솔루션을 찾을 수없는 경우 (또는 정답이없는 경우) 이진 응답을 반환하지 않습니다. 가능한 해결 방법

하나는 문제 당신이 를 해결하려고하는 유형과 방법 정확한 당신이 필요 대답에 따라 약간의 세포 (세포에서 가장 작은 값 아마도 사람을 설정하는 것입니다 이진수가 아닌 <=1>=0이라는 조건으로 계산됩니다. 당신이 제공 한 이미지가 나타나지 않아서, 당신이 뭘했는지 정확히 모르겠습니다.

(그것은 바이너리로 설정되지 않은 셀에 대한 SUMPRODUCT 가진 셀을 설정하는 것이 도움이 될 수있다; 아래 참조).

를 예를 들어, 만약 (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을 설정하는 경우 , 그리고 마지막 t <=1 & >=0로, 당신이 결국 하시다 :

9 0 
9 1 
9 1 
6 0.333333333 
3 0.666666667 

그런 다음 사용할 수 있습니다 마지막 두 행 = 4에 대한 SUMPRODUCT에 수동에 따라 지난 1과 다른 공 한 세트 목표보다 약간 위 또는 위의 답을 원합니다.

2

나는 비슷한 문제가 있었고 해결사 옵션으로 가서 "자동 크기 조정 사용"을 선택하여 해결할 수있었습니다. 나는 이것이 당신의 쟁점을 해결할 것인지는 확신하지 못하지만, 시도 할 만하다.

관련 문제