Doğrusal bir programda


16

varsaymak

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

burada bir simetriktir , n x n matrisini ve v , e c ( U ) yeniden şekillendirir u ile bir tek boyutlu vektör , n 2 girişleri.Un×nvec(U)Un2

Yukarıdaki programın bana sorun veren kısmı . (Negatif olmayan simetrik matrislere çözümlerin kısıtlanması basit görünmektedir.)max{,}

Herhangi bir yardım veya referans için şimdiden teşekkür ederiz!


Her iki kısıtlamayı da ekleyememenizin bir nedeni var mı?
Aron Ahmadia

1
@AronAhmadia: Her iki kısıtlamayı da ekleyemez çünkü bu tüm i , j , k için ile eşdeğer olacaktır . Bu sorunun bir LP reformülasyonu olduğunu düşünmüyorum, ancak bu muhtemelen çözmeyi daha pahalı hale getirmesine rağmen bir MILP reformu olabilir. Ui,jmin{Ui,k,Uk,j}i,j,k
Geoff Oxberry

@ N21: çözmek istediğiniz problemler için ne kadar büyük olmasını bekliyorsunuz ? n
Geoff Oxberry

@Geoff: Teşekkürler! Ben sonuçta büyük umuyoruz , ama şu anda çoğu bir ön çözüm elde etmek için söz konusu duyuyorum n 100, hatta 10. söylemek, aznn
N21

@GeoffOxberry'yi açıkladığınız için teşekkürler, göndermeden önce bunu tam olarak düşünmedim.
Aron Ahmadia

Yanıtlar:


14

Edit: Hadi bu açıklamayı tekrar deneyelim, bu sefer daha uyanık olduğumda.

Formülasyon ile ilgili üç büyük sorun vardır (ciddiyet sırasına göre):

  1. Sorunun açıkça pürüzsüz, dışbükey veya doğrusal olan belirgin bir yeniden formülasyonu yoktur.
  2. Düzgün değil.
  3. Dışbükey olması şart değildir.

Belirgin bir düzgün / dışbükey / doğrusal reformülasyon yok

Öncelikle, her bir kısıtlamanın standart ve belirgin bir yeniden formülasyonu yoktur . Aron'un önerisi , U i jmin k { U i k , U k j } gibi bir kısıtlamanın aşağıdaki iki eşdeğer eşitsizlikle değiştirildiği daha yaygın min kısıtlaması için geçerlidir : U i jU i k ,maxmin

Uijmink{Uik,Ukj}
U i jU k j ,
UijUik,k
Reformülasyonideal değildir, her min kısıtlaması 2 n doğrusal sınırlama ile değiştirilmiştir, ancak doğrusal olmayan doğrusal olmayan bir programı çözülmesi daha hızlı büyüklük sıraları olan doğrusal bir programa dönüştürür.
UijUkj,k.
min2n

maxmaxn2max2n

max

Nonsmoothness

max

Pürüzsüzlük çok büyük bir problemdir çünkü:

  • derhal probleminizi doğrusal hale getirir
  • doğrusal olmayan programlama çözücülerinin çoğu sürekli olarak iki kez farklılaşabilen fonksiyonlar üstlenir

max

Olası dışbükeylik

g(x)0

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

Bu işlevler içbükeydir.

Uijmaxk{Uik,Ukj}

g

Sorunu çözme seçenekleri

  • Uijmaxk{Uik,Ukj},i,j,k
    Uijmink{Uik,Ukj},i,j,k,
  • Düzgün olmayan programlar için paket çözücüde olduğu gibi formülasyonunuzda şansınızı deneyin. Bu tür çözücülerle ilgili çok fazla deneyimim yok. (Bir meslektaşım bunları araştırmasında kullanıyor.) Türevsel bilgileri kullanamadıkları için muhtemelen yavaşlar. (Bunun yerine alt gradyanı veya Clarke'ın genelleştirilmiş gradyan bilgilerini kullandıklarını düşünüyorum.) Büyük sorun örneklerini bir paket çözücü ile çözmeniz de olası değildir.


1
Geoff, iyi şeyler; bu kilit noktalara isabet eder ve birçok yapıcı fikir ve öneri sunar. Oy verdim. Ama dışbükeyliğe, "koyduğunuzda," bildiğim bir minimizasyon probleminde maksimum kısıtlamaların standart bir şekilde yeniden düzenlenmesi yok "gerçeğinden ayrı bir şey olarak davranıyor gibi görünüyorsunuz. Ama aslında, birincisi tam olarak neden ikincisinin mümkün olmadığıdır. Dışbükey olmayan kısıtlamalar doğrusal programlamada ifade edilemez --- tam dur! Bu dışbükey olmayan bir sorundur ve karışık tamsayı problemi olarak yeniden formüle edilmesi veya başka bir buluşsal yöntem uygulanması gerekir.
Michael Grant

g(x)0gg(x)0g

1
xmax{y,z}(x,y,z)

1
max{y,z}

3

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

U

U02tr(A^U)=A^U2A^2U2

2

fmax{f1,f2,...,fn}n bi{0,1}1inMf

ffi+(1bi)M,i

ibi=1

M:=maxifiminififi


1

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

si>=max(ai)xi=sisimax(ai) olanaksız bölgeye giden sorunlar için.)


İyi fikir. Kanıtınızın geçtiğini varsayarsak, sorun daha sonra doğrusal olmama ve düzensizliği kısıtlamalardan hedefe taşır; her ikisi de bir formülasyonda hala istenmeyen özelliklerdir.
Geoff Oxberry

aij(xi,ai1,ai2,...,ain)(xi,si,ai1,ai2,...,ain)

1

Yorum düğmesini bulamıyorum ...

log(x)<5

Dışbükey bir kümeyse , kısıtlama alanına geri yansıtmak için Dykstra's_projection_algorithm gibi bir şey kullanarak nesnel işlevinizde degrade iniş gerçekleştirebilirsiniz .


İçbükey fonksiyonlar hakkında yorum yapmak için oy verildi; Açıklamam hakkında daha fazla düşünmeliydim. Mümkün olan sete yansıtmak bir olasılıktır, ancak bu algoritmaları pürüzsüz kısıtlamalarla uygulayabilirseniz başımın üstünden emin değilim.
Geoff Oxberry

x2+y2<5

"Konveks olmayan problemler sadece NP sayısının olası çözümü varsa NP açısından zordur." NP "belirleyici olmayan polinom" anlamına gelir. Neden bahsettiğiniz hakkında tamamen kayboldum. İkinci olarak, içbükeylikten bahsettim çünkü doğrusal fonksiyonlar içbükey ve dışbükeydir; işlev dışbükey değildir. Fonksiyonun düzensiz ve parçalı doğrusal olması bir LP reformülasyonunun varlığını hemen dışlamaz.
Geoff Oxberry

Uijmink{Uik,Ukj}

Maalesef, yorumu kısaca yapmak zorunda kaldım, bu yüzden polinom olmayanlar için NP ve polinonomi için P kullandım. Mesele, dışbükey olmayan optimizasyonun her zaman NP-zor olmamasıydı. Olası çözümlerin sayısı polinomdan ziyade WORSE ise sadece NP zordur. Karışıklık için üzgünüm :) Doğrusal olarak yeniden biçimlendirme konusunda haklısın. "Sonuç olarak, programınızı doğrusal bir program olarak yeniden biçimlendirmenin bir yolu yok" diyor gibisiniz, dışbükeylik nedeniyle, bunun sadece dışbükeylikle değil doğrusallıkla ilgili olduğunu belirtiyordum.
Tim

0

0

U0An0

abccmax(a,b)b=ci,j,k

  1. Uij<Ujk=Uik
  2. Uik<Ujk=Uij
  3. Ujk<Uik=Uij
  4. Uij=Ujk=Uik

tG(t)Uij=tUij=Ujk=tUj=tUi=Uk=tG(t)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.