선형 프로그램에 대한 중간 점 솔루션


9

솔루션이 아니라 최소값을 가정하는 폴리 토프 표면의 중심에있는 솔루션을 원하는 선형 프로그램이 있습니다.

우선, 우리는 최소화되는 얼굴이 최소화되는 목적 함수가 많은 제약 조건의 최대 값이라는 것을 포함하여 다양한 이유로 높은 차원이어야합니다.

최소화 대상 가진 선형 모든 및 .ϵ에프나는(엑스¯)ϵ<0에프나는엑스나는>0나는나는엑스나는=1

물론 단순한 알고리즘에서 중심 성과 같은 속성을 얻지 못했습니다. 일반적인 내부 포인트 알고리즘 중 하나라도 그러한 속성을 나타 냅니까? 가능할 때마다 꼭짓점이나 낮은 차원의면을 피할 수 있다고 보장합니까?


사실, 나는 중심성이 최소한의 것보다 중요하기 때문에 전체 폴리 토프의 중간 점을 찾는 쉬운 이차 프로그램에 만족할 것입니다. 다른 선형 프로그래밍 알고리즘이 관련 속성을 제공한다면 모호하게 궁금합니다.

업데이트 : 근본적인 문제를 Lagrange multiplier로 해결할 수있는 간단한 제약 최소화 문제로 줄 였지만 위의 질문은 여전히 ​​흥미 롭습니다.


2
정확히 당신의 질문이 아니라 : 중심을 계산하는 것은 # P-hard입니다; 최고의 근사값이 무엇인지 확실하지 않지만 일부 응용 프로그램의 경우 폴리 토프를 등방성 위치에 놓고 (변형 된) 폴리 토프에서 폴리 노 미적으로 많은 균일 한 샘플의 평균을 취합니다. 참조 : Lemma 15 참조 : cc.gatech.edu/~vempala/acg/notes.pdf
Sasho Nikolov

이게 더 이론적이거나 더 실용적인 질문입니까? 아마도 최적의면의 모든 정점을 생성 한 다음 적절한 볼록한 조합을 사용하는 것이 가능할 것입니다.
익명

답변:


4

의견이 너무 긴 몇 가지 관찰 결과가 있습니다. 다음은 요약입니다.

  1. 문제를 정확하게 해결하는 알고리즘은 선형 프로그램을 정확하게 해결하는 데 사용될 수 있습니다 (예 : Sariel의 솔루션에서 사용되는 현재 "다항식 시간 알고리즘이없는"강한 선형 프로그래밍 ").

  2. 자연스러운 후속 조치는 대략적인 솔루션 (예 : "약한 선형 프로그래밍")이 솔루션을 제공 할 수있는 경우입니다. 대답은 그렇습니다.이 절차의 중지 조건에는 내가 아는 한 다항식 시간으로 계산할 수없는 양이 필요합니다. (즉, 알고리즘은 좋은 것을 발견하지만 이것을 증명하는 것은 어렵습니다.) 여기서 나의 주요 제안은 "ϵ-이 문제는 다루기 힘든 문제입니다 (이 전략은 효과적으로 다면체의 작은면을 버립니다).

일반적으로 현재 귀하의 문제에 대한 진술을 생각하면서 효율성을 계속 고려했습니다. 그러나 이것에 대한 합리적인 직관이 있습니다 : 우리가 던지고있는 물체 (정점,면 등)는 이산적이고 기하 급수적으로 풍부합니다.

(1) 문제를 정확하게 해결하는 알고리즘이 있다고 가정합니다. 제공된 중간 점이 포함 된면의 노출 된 점은 원래 선형 프로그램에 대한 정확한 솔루션입니다. 따라서 다음과 같이 진행하십시오. 원래 목표 값이 최적의 값과 같아야한다는 새로운 선형 구속 조건을 추가하고 (현재 알고있는) 새로운 목표를 설정하여 솔루션의 첫 번째 좌표를 최대화하십시오. 각 치수에 대해이 절차를 한 번 반복합니다. 매번 구속 조건을 추가하고 최대화 할 새 좌표를 선택하십시오. 이 프로세스는 매번 솔루션의 크기를 줄입니다. 필연적으로, 프로세스가 완료되면 단일 지점을 의미하는 0 차원 아핀 세트가 있습니다. 따라서영형() 중간 점 해결 알고리즘의 반복 (및 다항식의 양만큼 문제 설명 만 증가) 매번) 강력한 선형 프로그래밍이 해결됩니다. 이것은 Sariel의 솔루션에는 강력한 선형 프로그래밍이 필요하지만 귀하의 질문에 대한 정확한 솔루션은 그것을 피할 수 없다는 것을 보여줍니다. ( 편집 : 내 증거는 입력으로 소형 다면체 (폴리 토프)를 가정하지만 그렇지 않으면 정점을 찾기 위해 조금 더 열심히 노력해야합니다.)

(2.) 각 반복마다 풀 블로운 볼록 솔버를 사용하는 반복 체계가 있으며,이 솔루션은 온화한 중간 점 솔루션 개념으로 수렴됩니다. 페널티 매개 변수의 긍정적이지만 감소하는 시퀀스를 선택하십시오.{λ나는}나는=10; 이것들을 기하학적으로 내려가는 것이 합리적입니다. 즉λ나는=2나는. 이제 각각에 대해나는볼록 함수를 최소화

,엑스λ나는제이=1미디엄ln(제이,엑스),

어디 ,엑스 원래 목표이며 제이 이상 범위 미디엄대수 장벽을 통해 목표에 배치 된 원래 구속 조건 (이는 표준 임). 이제 다면체의 최소화면 (최대 치수)에 대해 생각한다면 충분히 작은λ나는 그리고 관용 τ볼록 옵트 블랙 박스의 경우 대략적인 최적 거리는이면에 가깝지만 장벽은 다른 구속 조건에서 최대한 멀리 밀어냅니다. 다른 방법으로 말했다λ나는 감소하면 원래의 선형 대물 렌즈는 결국 적절한면에서 당신을 유지하고있는 일부 까다로운 장벽을 지배하지만, 다른 경계, 특히 대상면의 경계를 막는 장벽에는 영향을 미치지 않습니다.

완벽한 세상에서, 우리는 앉아서 완벽한 가치를 분석적으로 결정할 것입니다. λ또는 최소한 중지 시간이 있으므로 무한히 많은 문제를 해결할 필요가 없습니다. 불행히도 이것은 힘든 것 같습니다. 예를 들어, 치수가 0보다 큰 임의의면의 최소 폭을 결정하는 것이 하나의 아이디어이다; 이것은 극도로 많은면이 있고 폭이 각각에 대해 계산되기 때문에 양의 최적으로 잘 정의 된 최소화 문제입니다. 이것으로, 우리는 설정할 수 있습니다λ장벽의 영향이 모든 얼굴 의 중앙에 작을 정도로 작습니다 . 불행히도, 기하 급수적으로 많은 얼굴이있을 수 있으므로이 수량을 계산하는 것은 의미가 없습니다.

내가 생각해 낼 수있는 모든 정지 조건에는 이러한 종류의 계산상의 어려움이있었습니다. 또한 많은 사람들이 이것을 다시 강력한 선형 프로그래밍 솔버로 바꿀 수 있습니다.

이러한 이유로, 나의 추천은``ϵ최적의 중간 점을 닫고 ''를 선택하여 해결하십시오. λ 그리고 당신의 볼록한 선택 블랙 박스 공차 τ적절하게. 너비가 가장 큰 얼굴은 실제로 신경 쓰지 않을 수 있기 때문에 이것이 합리적인 선택이라고 생각합니다.ϵ.

(일부 최종 논평.) "중간 점"의 개념이 결정적인 것 같습니다. Sasho의 의견에 따르면 중심 (질량 중심)은 매우 어려운 문제이지만 가장 큰 내구 공을 찾는 것은 쉽다고 지적합니다. 위에서 제안한 로그 장벽은 일반적으로 이러한 중간 지점 개념 중 하나와 일치하지 않습니다. 반면에 장벽과 공의 경우 중심에서 얼굴의 상대 경계까지의 거리에서 하한을 유도 할 수 있습니다. 이게 더 유용할까요?

마지막으로, 설명에서 "대상면"이 가능한 한 높은 차원을 갖는 것으로 생각하십니까? 이것은 잘 정의되어 있지만 가능한 모든 작은 치수에 대한 솔루션 면도 있습니다. 어쨌든, Sariel의 접근 방식과 위의 장벽 접근 방식은 가장 큰 차원에서 작동합니다.


예, 나는 이런 트릭을 고려했지만 궁극적으로 최소화로 갔다. 나는에프나는(엑스)2+제이엑스제이2 에 따라 제이엑스제이=1라그랑주 승수 사용. 그것은 약한 중심 속성을 산출합니다.엑스대각선에 있는데, 이는 최소화 표면이 아닐 수도 있지만 절대 움직이지 않는 구속 조건 표면 중 하나입니다. 일단 금기가 진화를 멈 추면 실제로 별도의 선형 프로그램을 실행하고 실제로 실제 최소값이 필요합니다.ϵ. 궁극적으로 유지할 필요가 없었습니다.ϵ제약 조건이 더 빠르게 진화하도록 도와줍니다. 그래도 고마워! :)
Jeff Burdges

Ahh # 2는 내가 처음에 생각했던 것이 아니라 흥미롭게 보입니다. 귀엽다! 내가 말했듯이, 나는 용서엑스적당한 곳으로 빨리 갈 수있는 한 최소화 된 얼굴에 착륙하지 않기 때문입니다. 나는이 시점에서 이것을 가지고 놀 것이다. 사실, 선형 대신 객관적인 이중선을 만드는 이유를 찾았 기 때문에 어쨌든 볼록 최적화에 대해 읽어야합니다.
Jeff Burdges

나는 "강력한 선형 프로그래밍"에 대한 요점을 이해하지 못하며이 표현을 들어 본 적이 없다. 강력한 다항식 시간에 LP를 해결하는 방법은 알려져 있지 않습니다. 그러나 입력 설명에서 LP의 시간 다항식 (즉 약한 다항식 시간)을 푸는 것은 물론 잘 알려져있다. OP가 약한 다항식 시간에 실행되는 알고리즘을 원한다면 Sariel의 솔루션 + 폴리 타임 내부 포인트 알고리즘이 작동합니다.
Sasho Nikolov

@SashoNikolov, 여기 내 현재 이해가 있습니다. 기존 (약한 폴리-타임) 솔버는 공차를가집니다τ 입력으로, τ최적의 솔루션. 한편, Sariel의 솔루션은 정확한 솔루션에 결정적으로 의존합니다. 특히 내부 포인트 방법은 상대적으로 내부 근사 최적을 반환합니다. 즉, 원하는 최적의 얼굴의 아핀 선체를 식별하는 단계가 실제로 전체의 선체를 선택합니다. 세트. 나는 주요 이슈가 어떤 식 으로든 정확한 해결책을 얻는 것이 강점 / 약점에 대해 쓴 것을 수정해야한다는 데 동의합니다.
matus

@SashoNikolov, 이제 생각합니다. 같은 문제를 가진 동일한 최적화 개념을 Sariel의 솔루션에 적용 할 수 있습니다. 예를 들어, 약간의 허용 오차 내에있는 제약 조건을 실제로 조여서이 값을 적절하게 조정하면됩니다. 오늘 밤 내 솔루션을 업데이트하겠습니다.
matus

6

먼저 최적의 솔루션을 찾은 다음 솔루션이 원하는 최적의 값과 동일한 값을 가져야하는 선형 제약 조건을 추가하고 실현 가능한 영역 내에서 가장 큰 공을 찾는 LP로 LP를 다시 지정하십시오. 이 수정 된 LP를 해결하면 원하는 것을 얻을 수 있습니다.

LP를 사용하여 두 번째 문제를 해결할 수있는 이유는 Computational Geometry의 표준 문제입니다 ...

==============

더 공식적으로는 최적의 솔루션을 포함하는 실행 가능한 지점에 걸쳐 아핀 부분 공간을 찾습니다. 따라서 최적의 솔루션이 초평면에 있다고 가정h엑스=α (즉, 엑스원래 LP 대상 함수였습니다). 만약 원래 LP의 실행 가능한 영역입니다. 가장 큰 볼을 찾고 있습니다. h. 이를 위해이 세트를 포함하는 최소 차원 아핀 부분 공간을 계산해야합니다. 이 부분 공간을 찾았 으면 변수를 변경하여이 아핀 하위 영역 만 고려하십시오. 이제, 당신의 폴리 토프는 완전 차원이며, 위에서 설명한 것처럼 두 번째 LP를 사용할 수 있습니다.

자, 보자 V첫 번째 LP로 계산 된 꼭짓점입니다. 모든 인접 정점을 고려하여V. 아핀 부분 공간을 고려하십시오V 동일한 목표 값을 갖는 모든 이웃과 함께 (즉, α). 이 아핀 부분 공간이 바람직한 부분 공간이라는 것을 알기는 어렵지 않다.

따라서 서머 닝하려면 : (A) 최적의 가치를 발견하기 위해 LP를 해결하십시오. (B) 가능한 솔루션을 포함하는 가장 작은 차원의 부분 공간을 최적의 값으로 계산하십시오. (C)이 아핀 서브 스페이스에서 원래 LP를 다시 쓰고 (즉, 모든 관련없는 치수를 떨어 뜨림) 변수를 추가 한 후 LP로 변환하여이 폴리 토프 내부에서 가장 큰 공을 찾으십시오.


전체 치수가 아닌 다면체에서 "가장 큰 공"이란 무엇입니까?
Kristoffer Arnsfelt Hansen 2014

다면체는 분명히 어떤 차원 의 아핀 부분 공간에있는 볼록한 세트입니다 .
사쇼 니콜 로프

이렇게하려면 첫 번째 단계에서 찾은면으로 제한하는 구속 조건을 지정해야합니다. 또한 솔루션이이면에서 일정하다는 것을 알아야합니다 (아마 보완적인 느슨 함이이를 드러 낼 것입니다)
Suresh Venkat

다항식 시간에 초기 최적화 후 단계를 수행 할 수있는 방법이 있습니까? 쓰여진 바와 같이, 목표면에있는 모든 정점을 고려할 필요가있는 것 같습니다.
matus

1
그보다 쉽습니다. 최적의 정점에 인접한 정점 만 고려하면됩니다. 다항식 시간으로 계산할 수 있습니다. 그 이유를 알아 보려면 아핀 부분 공간의 폴리 토프를 고려하십시오. V이 아핀 부분 공간에 있지만, 원래 폴리 토프에서 v에 인접한 꼭짓점의 부분 집합입니다. 그리고 그렇습니다-그것을 보는 데 꽤 시간이 걸렸습니다.
Sariel Har
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.