저는 F #에 상당히 익숙하며 문제가 있습니다. 비선형 제약 최적화 문제를 해결하고 싶습니다. 목표는 여섯 개 매개 변수 a
, b
, c
, d
, gamma
및 rho_infty
와 함수 minFunc
을 최소화하는 것입니다 (이 함수는 아주 오래 그래서 여기에 게시하지는이다)와 추가 조건 :F #을 사용한 최적화
a + d > 0,
d > 0,
c > 0,
gamma > 0,
0 <= gamma <= -ln(rho_infty),
0 < roh_infty <= 1.
Microsoft Solver Foundation의 Nelder Mead Solver를 사용해 보았습니다. 그러나 비선형 조건 a + d > 0
과 0 <= gamma <= -ln(rho_infty)
을 추가하는 방법을 모르겠습니다.
내 코드 지금까지 :
open Microsoft.SolverFoundation.Common
open Microsoft.SolverFoundation.Solvers
let funcFindParameters (startValues:float list) minimizationFunc =
let xInitial = startValues |> List.toArray
let lowerBound = [|-infinity; -infinity; 0.0; 0.0; 0.0; 0.0|]
let upperBound = [|infinity; infinity; infinity; infinity; infinity; 1.0|]
let solution = NelderMeadSolver.Solve(Func<float [], _>(fun parameters -> (minimizationFunc
parameters.[0] parameters.[1] parameters.[2] parameters.[3] parameters.[4] parameters.[5])),
xInitial, lowerBound, upperBound)
where parameters.[0] = a, and so one...
는 Nelder 미드 찾기 또는 다른 솔버를 해결하기 위해 몇 가지 가능성이 아마도 있습니까?
FBS 용 CSP 솔버 라이브러리를 작성하는 시간을 가졌습니다. 어느 날 ... – Mau
[R 유형 공급자] (http://bluemountaincapital.github.io/FSharpRProvider/)를 살펴볼 가치가있을 것 같습니까? R은 최적화 문제에 대한 광범위한 생태계를 제공합니다. – NoIdeaHowToFixThis