Andijon Mashinasozlik Instituti Mashinasozlik texnologiyasi fakulteti “Iqtisodiyot” K-65-20 guruhi talabasi Yunusov Murodjonning “Iqtisodchilar uchun matematika”fanidan mustaqil ishi Reja: - Simpleks usulning dasturiy taʼminoti.
- Simpleks usulning geometrik talqini.
- Simpleks algoritm.
1. Simpleks usulning dasturiy taʼminoti - Ma’lumki, simpleks usuli bo’yicha bir nechta jadvallar hosil qilinadi. Ana shu jadvallarda simpleks usuli uchun kerakli ma’lumotlar kiritiladi. Masalan, 3 ta no’malumli bo’lgan holdagi chiziqli dasturlash masalasi quyidagi ko’rinishga ega:
Zmах =c1x1+c2x2+ c3 x3 a11x1 + a12x2 + a13 x3 =b1 , a21x1 + a22x2 + a23 x3 =b2 , (2.3.1) a31x1 + a32x2 + a33 x3 =b3 , х1 , 2 ,3 ≠ 0 - Ushbu tengsizliklar sistemasini tenglamalar sistemasiga keltirish uchun qo’shimcha o’zgaruvchilar kiritganda so’ng u quyidagi ko’rinishga ega bo’ladi:
a11x1 + a12x2 + a13 x3 + y1 = b1 , a21x1 + a22x2 +a23 x3 + y2 = b2 , a31x1 + a32x2 + a33 x3 + y3 = b3 . (2.3.2) Zmах = c1x1+c2x2+ c3 x3 +c4 y1+c5 y2+ c6 y3 = =c1x1+c2x2+ c3 x3 +0y1+0y2+0y3 . Endi (2.3.2) da berilganlarni simpleks jadvalga joylashtirsak, u quyidagi ko’rinishga keladi :
Ana shu jadvalni biz DELPHI formasida yaratamiz. Buning uchun Delphining Additional komponentlar palitrasidagi Stringgrid komponentasidan foydalanamiz. Dasturda ishlayotganda o’zgaruvchilar o’rnida aniq sonlar qo’yiladi.
Bu yerda biz bir va ikki o’lchovli massivlardan foydalandik. Simpleks usulining algoritmi bo’yicha oxirgi, maqsad satrini qaraymiz. Jadval ana shu satrda manfiy element qolmaguncha qayta hisoblab boriladi. Maqsad satr, ya’ni jadvaldagi oxirgi satrdan absolyut qiymati bo’yicha eng kattasini topishimiz kerak. Bizning misolda bu -3, ya’ni x[3] satri. Bu bilan biz hal qiluvchi satrni topgan bo’lamiz.
Topilgan qiymatlar jadvalga yoziladi. Bu holdagi jadval ko’rinishi quyidagicha: Ushbu chizmadan ko’rinadiki, hal qiluvchi satr 4,20 soni turgan satr va hal qiluvchi element 5, ya’ni hal qiluvchi ustun va hal qiluvchi satr kesishgan katakdagi son. Endi 2.3.4-chizmadagi jadvalning maqsad, ya’ni oxirgi satriga qarasak, bitta manfiy element qolgan. Demak yana jadval almashtirishini bajarishimiz kerak. Buning uchun 2-jadvaldan foydalanib hal qiluvchi ustunni aniqlaymiz. Bu ustun x[2] ustuni ekani ko’rinib turibdi, lekin uni dasturda ham aniqlaymiz. So’ng B[J] ustunidagi elementlarni shu hal qiluvchi ustun elementlariga ketma-ket bo’lib chiqamiz. Bo’lib chiqish natijalari 2.3.4-chizmada ko’rsatilgan. Jadvaldan ko’rinadiki, hal qiluvchi satr bu 1,75 soni turgan satr, buni dastur orqali ham aniqlaymiz. Demak, hal qiluvchi element bu 0,80. Demak,ushbu ustunni 0 bilan to’ldirib, satr elementlarini esa hal qiluvchi elementga bo’lib chiqamiz. Hal qiluvchi ustun sarlavhasi X[2] ni hal qiluvchi satr sarlavhasi Y1 bilan almashtiramiz. Jadvalning qolgan elementlarini Jordan-Gauss chiqarish algoritmi orqali hisoblaymiz. Ushbu barcha o’zgarishlarni endi 3-jadvalga joylashtiramiz. Agar barcha ishlarni bajarsak, 3-jadval quyidagicha bo’ladi: - Sunday qilib, optimal echim topildi. Optimal echimni topishda biz 3 ta jadval hosil qildik. Demak, biz Delphi formasiga 3 ta Stringgrid jadvalini tashlar ekanmiz. Undan tashqari sarlavhalarni yozish uchun Label komponentasidan foydalanamiz. Birinchi jadvalda asosan boshlang’ich ma’lumotlar yoziladi. Ularni tahrirlash imkoniyatini berish uchun StringGrid1 komponentasining Properties xossasi Options bo’limini aktivlashtirib, Goediting satridagi FALSE so’zini TRUE so’zi bilan almashtiramiz.
- Ushbu ishdan talabalarga “Iqtisodiy-matematik usullar” va “Jarayonlar tadqiqoti” fanlarini o’tishda ko’rgazmali vosita sifatida foydalanish mumkin.
Do'stlaringiz bilan baham: |