선형 프로그램에서


16

가정

minAvec(U)subject to Ui,jmax{Ui,k,Uk,j},i,j,k=1,,n

여기서 U 는 대칭 n×n 행렬이고 U 2n 2 항목 으로 1 차원 벡터로 vec(U)재구성 합니다.Un2

위의 프로그램에서 문제를 일으키는 부분은 max{,} 입니다. (음이 아닌 대칭 행렬로 솔루션을 제한하는 것은 간단한 것 같습니다.)

도움이나 참조에 미리 감사드립니다!


두 가지 제약 조건을 모두 추가 할 수없는 이유는 무엇입니까?
Aron Ahmadia 2019

1
@AronAhmadia : 모든 i , j , k에 대해 와 같기 때문에 두 제약 조건을 모두 추가 할 수 없습니다 . 이 문제에 대한 LP 재편성이 있다고 생각하지는 않지만 MILP 재편이있을 수 있지만 해결하는 데 비용이 많이들 수 있습니다. Ui,jmin{Ui,k,Uk,j}i,j,k
Geoff Oxberry

@ N21 : 해결하고자하는 문제에 대해 이 얼마나 클 것으로 기대 하십니까?
Geoff Oxberry

@Geoff : 감사합니다! 나는 궁극적으로 큰 을 갖기를 희망 하지만, 지금 은 100보다 작거나 심지어 10보다 적은 n을 갖는 예비 솔루션을 얻는 것이 가장 염려된다 .nn
N21

@GeoffOxberry를 명확히 해 주셔서 감사합니다. 게시하기 전에 완전히 생각하지 않았습니다.
Aron Ahmadia

답변:


14

편집 : 이 깨어있을 때이 설명을 다시 시도합시다.

공식화에는 세 가지 큰 문제가 있습니다 (심각한 순서로).

  1. 분명히 매끄 럽거나 볼록하거나 선형 인 문제에 대한 명백한 재구성은 없습니다.
  2. 부드럽 지 않습니다.
  3. 반드시 볼록한 것은 아닙니다.

명백한 매끄러운 / 볼록한 / 선형 재 형성 없음

첫째, 각 제약 조건에 대한 표준적이고 명확한 재구성은 없습니다 . Aron의 제안 은 U i jmin k { U i k , U k j } 와 같은 제약 조건 이 다음과 같은 두 가지 부등식으로 대체되는 보다 일반적인 최소 제약 조건에 적용됩니다 . U i jU i k ,최대

나는제이케이{나는케이,케이제이}
U i jU k j ,
나는제이나는케이,케이
재구성 된 각각 좋지 않은 제약으로 대체 한 2 개 N 선형 제한하지만 수십 배 빠른 해결하는 선형 프로그램으로 비선형 미분 가능하지 않은 비선형 프로그램으로 변환한다.
나는제이케이제이,케이.
2

볼프강은 최대 값 을 재조정하는 것이 가능할 수 있다고 지적한다.최대 은 여유 변수를 추가 구속 조건이 선형적이고 매끄 럽도록 구속 조건 . 원래 공식의 각 제약 조건에 여유 변수를 추가해야 하므로이 재구성에서 n 2 제약 조건을 추가 할 수 있습니다. 또한, 모든 최대 제약으로 대체 2 N (정도) 선형 제약. 실제 킬러는 비평 활도가 구속 조건에서 목표로 이동했기 때문에 Wolfgang의 공식은 여전히 ​​비평 활 비선형 프로그램을 생성한다는 것입니다.최대2최대2

선형 프로그래밍 교과서를 확인하고 문헌 검색을 수행 한 것으로 알려진 최소화 문제에서 제약 조건에 대한 표준 재구성은 없습니다 . 그런 개혁이 존재하지 않는다는 의미는 아닙니다. 그것은 내가 그것을 보지 못했다는 것을 의미합니다. 내가 추측해야한다면 LP 제제가 존재하지 않는다고 말할 것입니다.max

부드러움

이와 관련하여, 부드러움은 제제 중 적어도 하나의 기능 (목표 또는 제약)이 연속적으로 두 번 차별화 될 수 없음을 의미한다. 이 제형에서 비평 활 기능은 기능이다.max

부드러움은 다음과 같은 이유로 큰 문제입니다.

  • 즉시 문제를 비선형으로 만듭니다.
  • 대부분의 비선형 프로그래밍 솔버는 두 번 연속적으로 차별화 가능한 함수를 가정합니다.

이후 기능은 한 번도 지속적으로 미분 가능하지, 당신은 어려움없이 기존의 그라데이션 하강 방법을 사용할 수 있습니다조차. 비평 활 비선형 프로그래밍 알고리즘은 평활 알고리즘보다 느립니다.최대

볼록하지 않은 가능성

비선형 프로그램에 대한 "표준 형식"으로 (즉, g 형식으로 모든 제약 조건을 표현하기 때문에) 문제가 볼록하지 않을 수 있습니다. ), 당신의 배합에서 귀찮은 제약은(엑스)0

Uijmaxk{Uik,Ukj}0,i,j,k.

이러한 기능은 오목합니다.

증명 : 이 경우 함수 max k { U i kUij 모두 볼록이다. 볼록 함수의 합은 볼록하고, 볼록 함수에 -1을 곱하면 오목 함수가됩니다. (QED.)maxk{Uik,Ukj}

Tim이 지적했듯이 가 볼록하지 않다고해서 문제가 실제로 볼록하지 않다는 의미는 아니지만 최적화 문제를 전역 최적화로 해결하려는 경우 볼록 최적화 솔버가 전역 최적을 반환하도록 보장 할 수 있습니다. 문제가 볼록한 경우. 글로벌 최적을 원한다면 실행 가능한 세트가 볼록한지 아닌지를 결정하는 것이 좋습니다. 그러한 정보가 없으면, 문제가 볼록하지 않다고 가정하고 볼록 정보에 의존하지 않는 알고리즘을 사용해야합니다. 그럼에도 불구하고 부드러움과 좋은 개혁의 부재는 훨씬 더 큰 문제입니다.g

문제 해결을위한 옵션

  • 가능한 해결책을 찾도록 해결하십시오. 이 경우 Aron의 말을 따르고 with U i jmin k { U i k ,

    Uijmaxk{Uik,Ukj},i,j,k
    다음 다시 표현 표준 LP 재 형성을 사용하여 두 개의 부등식으로 할 수있다. 결과로 발생하는 문제는 해결하려는 문제의 LP 제한입니다. 원래 문제와 관련하여 신속하게 해결해야하며, 솔루션이있는 경우 해당 솔루션은 원래 문제에 적합 할 수 있으며 목표 함수 값은 원래 문제의 최적 목표 함수 값의 하한이됩니다.
    Uijmink{Uik,Ukj},i,j,k,
  • 부드러운 프로그램이 아닌 번들 솔버를 사용하여 공식을 시험해보십시오. 이러한 유형의 솔버에 대한 경험이 많지 않습니다. (나의 동료는 그의 연구에서 그것들을 사용한다.) 그들은 파생 정보를 사용할 수 없기 때문에 아마도 느릴 것이다. (그들은 대신 하위 그라데이션 또는 Clarke의 일반 그라디언트 정보를 사용한다고 생각합니다.) 또한 번들 솔버로 큰 문제 인스턴스를 해결할 수는 없습니다.


1
제프, 좋은 물건; 이것은 요점을 명중하고 건설적인 통찰력과 제안을 많이 제공합니다. 나는 그것을 투표했다. 그러나 당신은 비 볼록성을 "내가 아는 최소화 문제에서 최대 제약의 표준 재구성이 없다"는 사실과는 별개의 것으로 취급하는 것 같습니다. 그러나 실제로 전자는 후자가 불가능한 이유입니다. 볼록하지 않은 구속 조건은 선형 프로그래밍으로 표현할 수 없습니다. 이것은 볼록하지 않은 문제이며 혼합 정수 문제로 재구성하거나 다른 휴리스틱 적용해야합니다.
Michael Grant

@ MichaelGrant : 나는 1 년 전에 개정 1과 2에서 그 주장을 한 다음 문제가 볼록하지 않다는 내 주장에 대해 긴 논평을했습니다. 내 기억으로 (아래 참조 팀의 대답은.),시, 팀은 주장했다 부등식 g 오목 실현 가능한 설정 비 볼록하지 않습니다. 정의상 볼록한 프로그램 이 g 볼록한 경우 g ( x ) 0 이되도록 표현할 수 있어야 하는 이유를 잘 모르겠습니다 . 나는 팀과 그것에 대해 논쟁하는 것에 지쳤다. 이전 수정 사항 중 일부를 되돌려 야합니다. g(x)0gg(x)0g
제프 옥스 베리

1
볼록하지 않은 구속 조건 함수가 볼록한 세트를 설명 할 수있는 것은 사실입니다 (실제로 쿼시 컨벡스의 개념은 대부분의 경우를 포함합니다). 그러나 ( x , y , z ) 로 볼록하지 않은 세트를 나타 냅니다. 따라서 팀의 주장은이 특정한 문제와 관련이 없습니다. 볼록하지 않은 세트의 교차점은 볼록한 것으로 생각되지만, 그럴 가능성은 적습니다. xmax{y,z}(x,y,z)
Michael Grant

1
예, 그러한 집합이 의 hypograph이고 함수의 hypograph에 의해 정의 된 집합이 함수가 오목한 경우 볼록 하기 때문에 특정 명령문을 증명할 수 있습니다 . max{y,z}
Geoff Oxberry

3

귀하의 질문에 대한 솔루션입니다 .

하자 이후VEC(U)과 제약의 선형U, 긍정적 여러t±U의만족 제약. 따라서,V(VEC(V))mINt(VEC(tU))=-.

U=(1111).
Avec(U)Ut±UminV(Avec(V))mint(Avec(tU))=

제기 된 질문에 대한 해결책입니다. 내 생각은 영업 이익은 일부 nonnegativity 제약을 제기 할 예정이다 이 경우, 최적의 목적 함수 값이되지 않을 수도 있습니다, - . U
Geoff Oxberry

@GeoffOxberry : 맞습니다. 에 대한 양의 제약 조건이 있더라도 대답은 0 입니다. 제기로 양식은 정말 매트릭스 최적화 질문을 의미 라 2 TR ( * U ) = - U 2 - 2 - U 2 . 02tr(^)=^2^22
Deathbreath

2

구속 조건 을 공식화하기 위해 . . . , f n } , n 이진 변수 b i{ 0 , 1 } , 1 i n을 만듭니다. 하자 M이 (가) 변수의 바인딩 된 F 우리는 다음과 같은 제약 조건을 추가해야합니다 :fmax{f1,f2,...,f} 나는{0,1}1나는미디엄에프

1) 에프에프나는+(1나는)미디엄,나는

2) 나는나는=1

일반적 설정 우리의 값을 추정 할 수있는 경우 F I를 .미디엄: =미디엄엑스나는에프나는미디엄나는나는에프나는에프나는


1

여유 변수를 도입 할 수 없습니까? 따라서 재구성하도록 제약 을 물품뿐만 다음과 X I < = s의 s의 I를 > = 1 s의 I를 > = 나는 2 . . . s i > = a i n

xi<=max(ai1,ai2,...,ain)
xi<=si
si>=ai1
si>=ai2
...
si>=ain
cmax(simax(ai),0)
simax(ai)c

si>=max(ai)xi=si, then the solution is infeasible; in other words, simax(ai) is a measure of infeasibility wrt to the original problem. If the problem is stable, there should be a finite improvement in objective function value for a finite violation of feasibility. If you choose c to be larger than the ratio between change in objective value and violation of feasibility, then the modified objective function would grow for problems that go into the infeasible region.)


It's a good idea. Assuming your proof goes through, the issue then becomes moving the nonlinearity and nonsmoothness from the constraints into the objective, both of which are still undesirable qualities in a formulation.
Geoff Oxberry

I'm afraid this will not work. If the aij quantities are variables, not constants, then your original constraint is not a convex set in (xi,ai1,ai2,...,ain). Your reformulated set of constraints, on the other hand, is a convex set in (xi,si,ai1,ai2,...,ain). The two sets of constraints cannot be equivalent.
Michael Grant

1

댓글 버튼을 찾을 수 없습니다 ...

Geoff가 지적했듯이 오목한 구속 조건 기능입니다. 그러나 함수 자체가 오목한지 여부는 중요하지 않습니다. 선형 구속 조건 하의 오목 함수는 볼록 세트 일 수 있습니다 (예 :영형(엑스)<5 ).

볼록 세트 인 경우, Dykstra's_projection_algorithm 과 같은 것을 사용하여 구속 조건 공간으로 다시 투영 하여 목적 함수에서 경사 하강을 수행 할 수 있습니다.


오목한 기능에 대한 의견을지지했습니다. 내 설명에 대해 더 많이 생각 했어야 했어요. 부드럽 지 않은 제약 조건으로 해당 알고리즘을 적용 할 수 있다면 내 머리 꼭대기에서 확실하지 않지만 가능한 세트에 투영하는 것은 가능합니다.
Geoff Oxberry

매끄러운 제약 조건에 적용되는지 확실하지 않습니다. 또한 볼록하지 않은 문제는 NP가 가능한 솔루션을 가지고있는 경우 NP 하드 문제 일뿐입니다. 가능한 솔루션의 수가 P 인 경우 무차별 대입법은 볼록하지 않은 최적화 작업을 정확하게 해결합니다. 마지막으로이 방법을 LP로 구성 할 수는 없지만 제약 조건의 오목한 특성과는 관련이 없습니다. 구속 조건은 비선형 (볼록한 또는 아닌) 구속 조건 공간을 예고하는 비선형 함수이기 때문입니다. LP를 사용하여 해결할 수없는 볼록 구속 조건이 많이 있습니다. 예 :엑스2+와이2<5
Tim

"볼록하지 않은 문제는 NP가 가능한 해결책을 가지고 있다면 NP 문제 일뿐입니다." NP는 "비 결정적 다항식"을 나타냅니다. 당신이 말하는 것에 대해 완전히 잃어 버렸습니다. 둘째, 선형 함수가 오목하고 볼록하기 때문에 오목 함을 언급했습니다. 기능은 볼록하지 않습니다. 함수가 부드럽 지 않고 부분 선형이기 때문에 LP 재구성이 존재할 가능성을 즉시 배제하지는 않습니다.
Geoff Oxberry

예를 들어 나는제이케이{나는케이,케이제이}은 "비선형 적"이며 선형 구속 조건의 한 쌍으로 재구성 될 수 있으므로 LP 재구성을 허용합니다. 마지막으로, 당신은 맞습니다. 부드러운 비선형 제약과 같은 선형 제약으로 재구성 할 수없는 많은 제약이 있습니다.
제프 옥스 베리

죄송합니다. 주석을 짧게 작성해야했기 때문에 비 다항식에는 NP를 사용하고 다항식에는 P를 사용했습니다. 요점은 비 볼록 최적화가 항상 NP-hard가 아니라는 것입니다. 가능한 솔루션의 수가 다항식보다 WORSE이면 NP-hard입니다. 혼란을 드려 죄송합니다 :) 선형으로 재구성하는 것이 옳습니다. 볼록하지 않기 때문에 "결과적으로 선형 프로그램으로 프로그램을 재구성 할 수있는 방법이 없습니다."라고 말한 것 같습니다.
Tim

0

언급되지 않은 불평등 제약이 더 있습니까? 언급했듯이 문제는 원뿔에 대한 선형 함수를 최소화하는 것이므로 최적의 값은 항상 또는 0.

제약이 있어도 0이 문제는 불연속 결정 문제로 줄어 듭니다. 선형 함수를 생각하십시오 전체 그래프 가장자리의 양 / 음의 가중치에 해당 정점. 모든 정점을 가중치의 합과 엄격하게 음수로 연결하는 지름 2의 그래프가 있으면 최적 값은 다음과 같습니다.그렇지 않으면 최적의 값은 0.

이를 증명하는 방법에 대한 간단한 스케치. 먼저그런 다음 최대(,) 암시 =. 따라서 불평등은 모든 트리플에 대해나는,제이,케이, 정확히 다음 중 하나에 해당해야합니다.

  1. 나는제이<제이케이=나는케이
  2. 나는케이<제이케이=나는제이
  3. 제이케이<나는케이=나는제이
  4. 나는제이=제이케이=나는케이

따라서 일부 임계 값을 수정하면 그리고 그래프를 형성 () 어디에나 가장자리 나는제이=그런 다음 3 개의 정점마다 정확히 0, 2 또는 3 개의 모서리를 연결해야합니다. 그래서 만약나는제이=제이케이=그런 다음 다른 모든 정점에 대해 , 우리는 제이= 또는 나는=케이=. 그래프가() 모서리가 있으면 지름 2 여야합니다.

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