1

이 제약 최적화를 해결하는 방법을 내가 매트랩에서 다음과 같은 제약 최적화 문제를 싶지 :MATLAB가 : 매트랩

가정 해 우리가 목적 함수 f (X, t) =의 X 극대화 할 - t을, s.t. x는 [-1/t, 1/t]입니다. X는 선택 변수이고 t는 주어진 매개 변수입니다. X가 실수이고 T가 실수 ++에 있다고 가정합니다.

f (.)가 x에서 초승달이고 t> 0이므로 주어진 t에 대해 해는 x * (t) = 1/t가됩니다. 그러나 Matlab에서 어떻게 이것을 얻을 수 있습니까? 그래서 나는 t 대 x * (t)를 그릴 수 있습니다.

나는 올해 프로그래밍을 시작했다. 그런데 내가 찾고있는 코드가 너무 쉽다면 미안하다. 나는 혼자 힘으로 노력했지만 could'nt.

미리 감사드립니다.

+0

비슷한 문제는 여러 가지 방법으로 처리 할 수 ​​있습니다. 공식 Matlab 도구 상자를 사용하려면 https://www.mathworks.com/products/optimization.html을 참조하십시오. 이것은 아마도 가장 쉬운 해결책 일 것입니다. 또는 csminwel.m (http://sims.princeton.edu/yftp/optimize/)과 같은 최적화 함수를 사용하여 문제와 제약 조건을 모델링 할 수 있습니다. 프로그래밍 관점에서는 더 복잡합니다. 일반적으로 지원 매개 변수가 제한되지 않도록 관심 매개 변수를 변환해야하기 때문입니다. – merch

답변

1

최적화 도구 상자가있는 경우 fmincon 함수를 사용하여 제한된 최적화 문제를 해결할 수 있습니다. here을 클릭하십시오.

또는 외부 라이브러리 Yalmip을 사용할 수 있습니다.

+0

** linprog **를 사용하여 문제를 해결할 수 있으므로 ** fmincon **을 사용할 필요가 없습니다. 다음을 수행해야합니다. f = [1; -1], Aeq = [0, 1], beq = t에 따라 상한 및 하한을 정의한다. 자세한 설명은 https://uk.mathworks.com/help/optim/ug/linprog.html을 참조하십시오. – merch