벡터

2012-05-22 5 views
2
나는 다음과 같은 금액을 최소화 할 필요가

의 기능을 최소화하기 :벡터

하는 i{(i = 1 to n) fi(v(i), v(i - 1), tangent(i))}

vtangent는 벡터있는 모든 합계를 최소화 할 수 있습니다. fi은 3 개의 벡터를 인수로 취하여이 3 개의 벡터와 관련된 비용을 반환합니다. 이 함수의 경우 v(i - 1)은 이전 반복에서 선택한 벡터입니다.
tangent(i)도 알려져있다. fi은 다른 두 벡터 v(i - 1)tangent(i)이 주어지면 v(i) 벡터를 선택하는 비용을 계산합니다. v(0)v(n) 벡터가 알려져있다. tangent(i) 값은 모두
i = 0 to n에 대해 미리 알려져 있습니다.
내 작업은 i = 1 to n에 대한 함수 값의 총 비용이 최소화되도록 그러한 모든 것을 결정하는 것입니다.
문제를 해결할만한 아이디어를 제공해 주시겠습니까?
지금까지 Branch and Bound 또는 동적 프로그래밍 방법을 생각해 볼 수 있습니다.

감사합니다.

+2

이 최적화 문제가 무엇인지 알 수 없습니다. 그것은 v 벡터의 순서입니까? 최적화 문제를 더 명확하게 기술 할 수 있습니까? –

+0

여기에 최적화에 대한 자세한 정보를 추가하십시오. "내 임무는 i = 1 ~ n에 대한 함수 값의 총 비용이 최소화되도록 모든 v (i)를 결정하는 것"입니다. 여기에 비용 함수에 대한 정보가 필요하다고 생각합니다. 왜냐하면 v (i)의 선택은 v (i + 1)의 선택에 영향을 미칠 것이다. 따라서 각 단계에서 최소화하는 욕심 많은 전략이 최적이 아닐 수도 있습니다. 비용 함수에 대한 정보. – sukunrt

+0

예 벡터의 순서가 중요하며 그 값도 중요합니다. 기본적으로 비용을 최소화하는 벡터를 찾아야합니다. v (i)는 i 번째 점에 대한 시선 방향을 나타낸다. 탄젠트 (i)는 i 번째 점에 대한 경로에 접선을 부여합니다. 비용 함수는 v (i-1)과 v (i) 사이의 각도와 v (i)와 tangent (i) 사이의 각도의 합을 계산합니다. 그래서 부드럽게 변화하는 시선을 보장하기 위해이 비용을 최소화해야합니다. 희망이 당신의 요점을 지워줍니다. – arg

답변

0

이것은 수학적 최적화에서 문제가된다고 생각합니다. 객관적인 함수는 도트 제품과 arcCosines로 구성되어 있으며 벡터는 단위 벡터 여야한다는 제한이 있습니다. Lagrange 승수를 사용하거나 arc-Cosine에 정규화 단계를 포함하여이 작업을 수행 할 수 있습니다. Ti가 단위 벡터이면 Vi는 cos^-1 (Ti.Vi/sqrt (Vi.Vi))를 계산합니다. 나는이 시작점 인 Vi = Ti를 이용하여 공액 그라디언트 옵티 마이저 (conjugate gradient optimizer)를 사용하거나, 심지어는 뉴턴의 방법을 사용해도된다.

Vi는 이웃 한 Vi에만 관련되어 있기 때문에 합리적으로 다루기 쉽기를 바란다. 목적 함수를 최적화하기 위해 각 Vi를 하나씩 반복적으로 조정하여 어딘가에 도달 할 수도 있습니다. Vi를 Ti, Vi + 1 및 Vi-1의 평균으로 반복 설정 한 다음 Vi를 다시 단위 벡터로 스케일링하면 어떤 일이 발생하는지 보는 것만으로도 가치가 있습니다.