오픈 솔버를 사용하여 최적화 문제를 해결하고 있습니다. 문제는 다음과 같습니다.지정된 값 중 어느 하나에 최적 값 설정
주어진 총 비용 제약 조건과 입력 가능 상태로 입력을 최적화한다고 가정합니다. 우리는 투입 원가를 가지고 있으며 원가를 최소화하고자합니다. 또 다른 제약은 최적화 된 입력이 설정 값, 예를 들어 input11, input12, input13 및 input14 중 하나에 속하는 것입니다. 이 개별 입력 범위는 입력에 따라 다릅니다.
- 예산,
- 입력 용량 각 입력 및
- 입력 떨어지는 네 가지 옵션 중 하나에 속하는해야합니다
그래서 우리는 3 개 제약이있다.
내가 만든 코드의 부분 :
Sub TestOpensolver()
Dim TestSheet As Worksheet
Set TestSheet = Worksheets("Optimized_Results")
OpenSolver.ResetModel Sheet:=TestSheet
'Objective Definition
OpenSolver.SetObjectiveFunctionCell TestSheet.Range("AC3"), Sheet:=TestSheet
OpenSolver.SetObjectiveSense MinimiseObjective, Sheet:=TestSheet
'Variables Definition
OpenSolver.SetDecisionVariables TestSheet.Range("AK3:AK8"), Sheet:=TestSheet
OpenSolver.SetDecisionVariables TestSheet.Range("AQ3:AR8"), Sheet:=TestSheet
' Constraints
OpenSolver.AddConstraint TestSheet.Range("AK3:AK8"), RelationLE, TestSheet.Range("W3:W8"), Sheet:=TestSheet
OpenSolver.AddConstraint TestSheet.Range("AK3:AK8"), RelationGE, TestSheet.Range("X3:X8"), Sheet:=TestSheet
OpenSolver.AddConstraint TestSheet.Range("AS3:AS8"), RelationLE, TestSheet.Range("AT3:AT8"), Sheet:=TestSheet
OpenSolver.RunOpenSolver , False
End Sub
사람이 나에게 문제를 해결하는 데 도움이시겠습니까?
감사합니다.
답을 쓸 시간이 없다,하지만 난 생각 [이 답변] (https://stackoverflow.com/questions/41653105/excel-solver-finding-a-target-sum-from-subset-of-number-set/41658675 # 41658675)는 opensolver를 사용하지 않더라도 달성하려는 목표에 매우 근접합니다. – OldUgly
@OldUgly : 귀하의 제안에 감사드립니다. 나는 당신의 제안에 따라 몇 가지 대답을 발견했다. 그러나 더 많은 테스트가 필요합니다. 또한 오픈 솔버에서 작동하지 않습니다. 최적화 문제가 크고 해결 솔버가 해결할 수 없으므로 열린 솔버에서 실행해야합니다. 하지만 다시 경로를 보여 주셔서 감사합니다! – Beta
이제 이것은 빠른 해킹처럼 들릴지 모르겠지만 VBA에서 솔버를 실행하고 있으므로 for 루프의 네 가지 등가 제약 조건에 대해 개별적으로 실행하고 네 가지 중에서 최상의 답을 선택할 수 있습니다. – RIBH