운동 법칙이 상태 벡터의 일부 기능에 의존하는 최적의 제어 문제를 어떻게 해결합니까?


11

상태 벡터 x (t) 및 제어 벡터 y (t)의 일반적인 최적 제어 문제는 다음과 같이 표현할 수 있습니다.

maxx(t),y(t)0t1f(t,x(t),y(t))dt

대상 x(t)=g(t,x(t),y(t)) 및 대한 경계 조건 x .

매우 비슷한 문제를 해결하고 싶지만 제어 동작의 법칙은 다음과 같습니다.

x(t)=g(t,x(t),y(t),z(x(t)))

여기서 z(.) 를 선택해야합니다. 그러나 그 주장은 국가입니다.

솔루션을 어디에서 찾아야할지조차 모르겠습니다. 이 문제에 어떻게 접근 할 수 있습니까?


1
나는 그것을 쓰는 올바른 방법은
x(t)=g(t,x(t),y(t),z(x(t))
입니다. 나는 원래의 질문을 바로 잡을 것입니다
Daniel Wills

첫 번째 질문은 engineering.SE, +1에 오신 것을 환영합니다.
Chris Mueller

폐쇄 형 또는 공식 솔루션을 찾고 있습니까, 아니면 실질적인 최적화를 요구하고 있습니까? 전자의 경우 math.stackexchange.com 과 같은 사이트에서이를 요청해야합니다 . 후자의 경우 실제 최적화에 전념하는 다양한 분야가 있습니다. 두 경우 모두 실제 답변을 얻으려면 자세한 정보를 제공해야합니다.
feetwet

실용적인 최적화를 찾고 있습니다. 세부 사항 : 제어 변수의 하위 집합은 (나는 라고 부름 )에 의존하고 제어 변수의 하위 세트는 (나는 부르고 있음 ) 에 의존합니다 . 또한 함수를 선택해야합니다 . 최대화에는 제한이 따릅니다. 따라서 직관적 인 해결 방법은 다음과 같습니다.-추측 -(현재 표준) 최적 제어 문제 해결 ( 주어진 )- 인지 확인하십시오. 그렇지 않은 경우 다른 추측 하십시오. 그러나 알고리즘이 수렴 할 이유가 없습니다. 사람들은 어떻게이 문제를 해결합니까?tyxzx(t)
h(z(x(t)),y(t))=0
x(t)x(t)h(z(x(t)),y(t))=0x(t)
Daniel Wills

답변:


3

왜 는 외부에 있어야 합니까?zg

g(t,x(t),y(t))=g(t,x(t),y(t),z(x(t)))

이제 를gg

g 는 임의의 함수일 수 있으므로 모든 함수 는 통합 될 수 있습니다 .zg

당신의 제한에 관한 코멘트 섹션에서 언급. 비용 함수를 통해 제어 입력에 대한 모든 제한을 시행 할 수 있습니다.h

fnew(t,x(t),y(t))=fold(t,x(t),y(t))Ch(x(t),y(t))2

여기서 가 0에 가깝게 값을 보장하기에 충분히 크지 만 너무 크지 않아서 숫자 오류 가 원래 지배 할 수 있습니다 .Chhf


1

문제의 이산화를 포인트 로 사용할 수 있으므로 유한 한 수의 매개 변수 만 결정하면됩니다 ( 와 는 다소 연속적인 함수 라고 가정 ). 미분 및 적분의 경우 Euler 방법을 사용할 수 있으며, 고차 방법을 사용할 수 있지만 문제를 해결하기가 더 어려워집니다.Nfg

재구성 된 범 :

h=t1N1,x=[x1,x2,,xN],y=[y1,y2,,yN],

maxx,yn=1N1f(h(n1),xn,yn)hs.t.xn+1=xn+g(h(n1),xn,yn)h,n=1,2,,N1

또한 최적화 문제의 등식 제약 조건에 경계 제약 조건을 추가해야합니다. 예를 들어 Matlab에 액세스 할 수있는 경우 fmincon을 사용 하면 합계 앞에 빼기 부호를 추가하여 해결할 수있는 비용 함수를 최소화 할 수 있습니다. 종종 다른 추측이 다른 로컬 최대 값으로 수렴 될 수 있으므로 솔루션에 영향을 줄 수있는 초기 추측도 제공해야합니다. 을 늘리면 더 정확한 솔루션을 얻을 수 있지만 해결하는 데 시간이 더 걸릴 것입니다. 점이 적은 문제의 해를 사용하여 보간 한 다음 더 큰 수의 문제에 대한 초기 추측으로 사용하면 더 빨리 수렴 될 수 있습니다.N

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.