Identifikatsiyalash
Misol. Yechilishi
Download 1.5 Mb.
|
ОПТИМАЛЛАШТИРИШ (2)
- Bu sahifa navigatsiya:
- Kesuvchi tenglamalarni tuzish
Misol.
Yechilishi: qoʻshimcha oʻzgaruvchilarni kiritib bu masalani kanonik koʻrinishda yozamiz. Chegaraviy shartlarning barcha koeffitsientlari butun sonlardir. Shu sababdan, va oʻzgaruvchilarning butunligi va oʻzgaruvchilarning butun boʻlishligiga olib keladi. Shu sababdan kanonik koʻrinishga keltirilgan masalani toʻla butun sonli chiziqli programmalash masalasi sifatida qarash mumkin. Gomori usulidan foydalanamiz. Uning faqat butun sonli programmalash masalalarini echish uchun muljallangan 1-algoritmi bilan tanishamiz. Bu usulning gʻoyasi quyidagidan iborat. Berilgan butun sonli programmalash masalasida noma’lumlarning butun boʻlishlik shartiga e’tibor bermasdan, ularni oddiy chiziqli programmalash masalasi sifatida simpleks usuldan foydalanib echamiz.
butun boʻlishlik shartini qanoatlantirmaydi. Shu sababdan oxirgi Simpleks jadvaliga qoʻshimcha satir kiritamiz. ; , Undan keyin algoritmda tasvirlangan qoida boʻyicha Simpleks jadvalni oʻzgartiramiz.
Oxirgi Simpleks jadval berilgan masalaning yechimi beradi. Agar echim butun sonlardan iborat boʻlsa, u butun sonli programmalash masalasining ham echimi boʻladi. Aks holda noma’lumlarning butun boʻlishlik shartini e’tiborga oluvchi va «kesuvchi tenglama» deb ataluvchi qoʻshimcha tenglama tuziladi. Kesuvchi tenglamalarni tuzish Qayd qilib oʻtamizki, yuqorida keltirilgan misolimizda Simpleks jadvalga kiritilgan qoʻshimcha shartning kesuvchi tenglama koʻrinishini quyidagicha boʻldi. Bu shartni , tenglamalar yordamida va oʻzgaruvchilarga oʻtkazib olamiz: . Bundan koʻrinib turibdiki, qoʻshimcha shart K toʻplamdan nuqtani oʻz ichiga oluvchi qismini kesib tashlaydi. Eslatib oʻtamizki, shartlari tengsizlik bilan berilgan toʻla butun sonli chiziqli programmalash masalasidan kanonik koʻrinishga oʻtishda, umuman olganda, toʻla butun sonli chiziqli programmalsh masalasi hosil boʻlmaydi, chunki qoʻshumcha oʻzgaruvchilar butun boʻlish shartiga boʻysunmaydi. Ammo yuqoridagi tengsizlikda barcha va lar butun sonlar boʻlgan holda butun boʻlishlik shartini larga ham tarqatish mumkin ekan. Agar yuqoridagi tenglamadagi va lar ratsional sonlar boʻlganda ham kanonik koʻrinishga oʻtishda toʻla butun sonli chiziqli programmalash masalasini hosil qilamiz. Buning uchun tenglamani va lar maxrajlarining eng kichik umumiy karralisiga koʻpaytirib, faqat shundan soʻng ni qoʻshimcha oʻzgaruvchilarni kiritish kerak ekan. 1.Faraz qilaylik, masaladagi sonlarning butun boʻlishlik sharti tashlab yuborishdan hosil boʻladigan masala echilgan va uning optimal echimi mavjud boʻlsin. Agar barcha x lar butun sonlar boʻlsa, topilgan echim butun sonli programmalash masalaning echimi boʻladi. 2.Faraz qilaylik, ba’zi x lar kasr sonlardan iborat boʻlsin, ya’ni simpleks jadvaldagi ozod hadlar ustuni qiymatlari ichida kasr sonlar ham mavjud boʻlsin. Ularning butun qismlarini [x] bilan belgilaymiz. U holda bu sonlarning kasr qismlari q lar quyidagicha aniqlanadi: Qi=xi-[xi], qij=aij-[aij]. Faraz qilaylik, ba’zi qi≠0 boʻlsin. U holda, cimpleks jadvalning tenglikni qanoatlantiruvchi q katori uchun kesuvchi tenglama tuziladi. Buning uchun avval qk1x1+ qk2x2+ …+ qknxn≥qk tengsizlik tuziladi, sungra uni (-1) ga koʻpaytirib, xn+1 qoʻshimcha oʻzgaruvchi kiritamiz. -qk1x1- qk2x2- …- qknxn + xn+1=qk Bunday tuzilgan tenglama kesuvchi tenglama deyiladi. 3.Kesuvchi tenglamani simpleks jadvalning m+2 qatoriga joylashtiramiz vaa simpleks jadvalni almashtirishlarini bajaramiz. Agar hosil boʻlgan yangi simpleks jadvalda barcha xi lar butun sonli (ya’ni hamma qi=xi-[xi]=0) boʻlsa, topilgan echim berilgan butun sonli programmalash masalasining echimi boʻladi. Aks holda yuqoridagi 2 va 3 punktlar yana takrorlanadi. Umuman bu jarayon masalaning butun sonli echimi topulguncha yoki masalaning butun sonli echimi mavjud emasligi aniqlanguncha takrorlanadi. Misol. Quyidagi chiziqli programmalash masalasining butun sonli echimini toping. Masalani normal holga keltiramiz: 1. Masalani simpleks usulda echamiz.
2.
3.
Shunday qilib, masalaning masalaning optimal plani topildi, lekin bu plan butun sonli emas. Birinchi tenglamaning kasr qismi eng katta boʻlgani uchun, shu birinchi qatorga nisbatan kesuvchi tenglama tuzamiz: Bu tengsizlikning ikki tomoniga (-1) ni koʻpaytirib, x5 qoʻshimcha oʻzgaruvchini kiritamiz.Natijada quyidagiga ega boʻlamiz: , ya’ni Bu oxirgi tenglamada barcha koeffitsientlarning butun qismlari nulga teng boʻlgani sabab ular oʻzlari oʻzgarishsiz qoladi. Uni jadvalning oxiriga joylashtiramiz.
Simpleks almashtirish qilib quyidagi jadvalga ega boʻlamiz.
endi simpleks jadvalning ikkinchi qatoriga nisbatan kesuvchi tenglamani tuzamiz. Bu tengsizlikda koeffitsientlar butun qismi nuldan katta boʻlgani sabab qi=xi-[xi], qij=aij-[aij] foydalanib ularning kasr qismini ajratamiz, ya’ni q2=1.5-[1.5]=1.5-1=0.5, q24=1.5-[1.5]=1.5-1=0.5. Tengsizlikning ikki tomoniga (-1) ni koʻpaytirib, x6 qoʻshimcha oʻzgaruvchini kiritamiz. Natijada quyidagiga ega boʻlamiz: , ya’ni Uni jadvalning oxiriga joylashtiramiz. 5.
Simpleks almashtirish qilib quyidagi jadvalga ega boʻlamiz.
6.
Hosil boʻlgan simpleks jadvalda ozod hadlar ustuni elementlari butun sonlardan iborat. Demak, butun sonli programmalash masalasi echimi X=(1,0,5,1) boʻladi va Zmin=5. Download 1.5 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling