Chiziqli dasturlash tugmachasini ochishning grafik usuli.

Kontaktlar / topshirish

Golovna

Muammolarni bartaraf qilish; nosozliklarni TUZATISH

Mikola Kuznetsov kichik mexanik zavodni boshqaradi. Kelgusi oyda u ikkita mahsulot (A va B) ishlab chiqarishni rejalashtirmoqda, ular uchun marjinal foyda 2500 va 3500 rublga baholanadi. aniq. Ikkala mahsulotni tayyorlash uchun mashinani qayta ishlash, sut va qayta ishlash uchun xarajatlar talab etiladi. A mahsulotining teri birligini tayyorlash uchun 3 yil mashinada ishlov berish, 16 birlik pishloq va 6 birlik chiqindilar kerak bo'ladi. Bitta mahsulot uchun o'rtacha quvvat 10, 4 va 6. Mikola kelgusi oyda biz 330 yil mashinani qayta ishlash, 400 dona pishloq va 240 birlik chiqindilarni ishlab chiqarishimiz mumkinligini taxmin qilmoqda.
Ishlab chiqarish jarayonining texnologiyasi shundan iboratki, ma'lum bir oyda kamida 12 dona mahsulot tayyorlanishi kerak. 3 10 330
Resurs nomi 16 4 400
A 6 6 240

B

Obsyag resursív

Mashinada ishlov berishning yubileyi

Bitta sirovini

Bir marta

Mikola marjinal foydani maksimal darajada oshirish uchun kelgusi oyning aylanishi uchun mas'ul bo'lgan A va B mahsulot birliklari sonini aniqlash uchun modeldan foydalanmoqchi.

Muammoni hal qilish

Bosqich 1. O'zgarishlarning qiymati

Asosiy maqsad - o'zgaruvchan (ma'nosi Z), uni maksimallashtirish va minimallashtirish uchun optimallashtirish kerak (masalan, foyda, daromad va yo'qotishlar).

Mikola pragne marjinal foydani maksimal darajada oshiradi, shuning uchun tsilova zminna:

Maqsad funktsiyasi - bu maksimal yoki minimallashtirilishi mumkin bo'lgan maqsad funktsiyasi.

O'zgaruvchining qo'shilishi orqali ifodalangan butun o'zgaruvchini joylashtirish kerak, shunda Z chiziqli tekislash ko'rinishida x 1, x 2 ... orqali ifodalanadi.

Bizning teri ishlab chiqarishimiz uchun A mahsuloti 2500 rubl olib keladi.

marjinal foyda va 1 birlik A mahsulot tayyorlanganda, ombordagi marjinal foyda 2500x1 ni tashkil qiladi.

Zaxiradagi 2 dona mahsulot ishlab chiqarishdan olingan marjinal foyda 3500 x 2 ga o'xshaydi.

Shunday qilib, jami marjinal foyda, ishlab chiqarish birligi x 1 birlik mahsulot A va x 2 birlik mahsulot uchun kelgusi oy chegirib, keyin, Z aktsiyadorlik umumiy o'zgarish: Z = 2500x 1 +3500x 2.

Mikolaj pragne maximizuvati zei pokaznik.

Shunday qilib, bizning modelimizning maqsadi:

Etap.

3. Qiymatni sozlash

Cheklash - bu muhokama qilinayotgan o'zgarishlar qiymatlarini chegaralaydigan chiziqli darajalar va / yoki tengsizliklar tizimi.

Ular resurslar, texnologiya xodimlari, marketing aqli va boshqa imtiyozlarning mavjudligini matematik tarzda aniqlaydi.

Belgilashning uchta turi bo'lishi mumkin: "birdan kam", "birdan ortiq", "qat'iy bir".

A mahsulotini ishlab chiqarish uchun arizamizda va mashinani qayta ishlashning zarur vaqtida ushbu resurslarning mavjudligi cheklangan.

\[\left\((\begin(massiv)()
(3(x_1) + 10(x_2) \le 330)\\
(16(x_1) + 4(x_2) \le 400)\\
(6(x_1) + 6(x_2) \le 240)\\
((x_1)\ge 0)\\
((x_2)\ge 12)
\end(massiv)) \o'ng.\]

Simpleks usuli yordamida hal qilinadi

Simpleks usuli chiziqli dasturlash muammosini hal qilishning universal usuli bo'lib, kanonik shaklda taqdim etilgan deyarli har qanday masalani hal qilish imkonini beradi.

Fikr simpleks usuli Har qanday etalon yechimdan boshlab tizimning mos yozuvlar yechimlari bo'ylab optimal mos yozuvlar yechimiga ketma-ket to'g'ridan-to'g'ri harakatlanish mavjud deb hisoblanadi.

Shunday qilib, bir qator qo'llab-quvvatlovchi echimlar mavjud bo'lganligi sababli, optimal echim qadamlar soni tugagandan so'ng topiladi.

  1. Simpleks usul algoritmini quyidagicha tavsiflash mumkin:
  2. O'simlikni kanonik ko'rinishiga qaytaring
  3. Chegara sistemasi yechimining noma’lum asosini toping

Formuladan foydalanib, erkin o'zgarish taxminlarini kengaytiring:

\[(\Delta)_j = \sum\limits_(i = 1)^r ((c_i)(h_(ij)) – (c_j)) ,\;j = \ustki chiziq (1,n) ,\]

de h ij - katta o'zgarish koeffitsientlari x j,

c i - asosiy o'zgaruvchan maqsad funktsiyalari uchun koeffitsientlar,

  1. c j - butun funktsiyada katta o'zgarish bo'lgan koeffitsientlar,

Optimallik uchun topilgan yechimni tekshiring:

a) agar barcha baholar \((\Delta)_j \ge 0\ bo'lsa, u holda optimal yechim topiladi va yechim aniqlanadi;< 0\) , а при соответствующей переменной x j нет ни одного положительного коэффициента, то задача не имеет b) agar men bitta reytingni xohlasam \((\Delta)_j optimal qaror

maqsad funktsiyasining o'zaro bog'lanishi orqali< 0\) , а при соответствующей переменной x j есть хотя бы один положительный коэффициент, то решение не оптимально и его можно улучшить переходом к новому базису. Если отрицательных оценок несколько,то в базис ввести переменную с наибольшей по абсолютной величине отрицательной оценкой.

c) agar men bitta reytingni xohlasam \((\Delta)_j Keling, oldin tartibsizlikni tozalaymiz.

kanonik ko'rinish

\[\left\((\begin(massiv)()
Mikoli zavodi uchun chiziqli dasturlashning to'liq modeli quyidagi shaklda yozilishi mumkin:
(3(x_1) + 10(x_2) + (x_3) = 330)\\
(16(x_1) + 4(x_2) + (x_4) = 400)\\
(6(x_1) + 6(x_2) + (x_5) = 240)\\
(-(x_2) +(x_6) = 12)\\
\end(massiv)) \o'ng.\]

((x_j) \ge 0\;j = \overline (1,n)) B.P. x 1 x 2 x 3 x 4 x 5 x 6
x 2 3 10 1 0 0 0 330
x 3 16 4 0 1 0 0 400
x 4 6 6 0 0 1 0 240
x 5 0 -1 0 0 0 1 12

b i

\[\bar(x)_(\text(support))=(0;0;330;400;20;12)\]

Keling, yechimning optimalligini tekshirib ko'ramiz, buning uchun biz simpleks jadvalida sezilarli o'zgarishlarni topishimiz mumkin. Hisob-kitoblar lp_simplex.xlsx faylida keltirilgan.

Marosim

optimal emas, pastki qatordagi bo'laklar salbiy qiymatlardir.

Qaror soni (10; 30) optimal hisoblanadi.

Excel va LibreOffice bo'yicha yordam uchun echimlar

Excelda yechish "Yechimlarni qidirish" yordamiga asoslanadi, u ham simpleks usulidan foydalanadi.

Xuddi shunday, bu muammoni LibreOffice'dagi Solver yordamida hal qilish mumkin.

Esda tutingki, LibreOffice-da Excelga kiritilgan o'zgarishlar sonini cheklab bo'lmaydi.

Qaror R

  • GNU R-da ilg'or chiziqli dasturlash uchun siz quyidagi paketlardan foydalanishingiz mumkin:
  • lpSolve

linprog

Boshqa paket birinchisidan ustundir va ko'proq diagnostika ma'lumotlarini ko'rsatishga imkon beradi

lpSolve to'plami bilan echimlar<- c(2500, 3500) # Описали целевую функцию names(f.obj) <-c("A","B") a.mat<-rbind(c(3,10), # матрица c(16,4), # коээфициентов c(6,6), # при ограничениях c(1,0), c(0,1)) a.dir<-c("<=","<=","<=",">library(lpSolve) # Ulangan kutubxona f.obj<-c(330,400,240,0,12) # вектор ограничений result<-lp ("max", f.obj, a.mat, a.dir, b.vec)

=",">=") b.vec

Natija

natija ## Muvaffaqiyat: maqsad funksiyasi 130000 natija$yechim ## 10 30

Shunday qilib, maqsad funktsiyasining maksimal qiymati 130000 ga teng va x 1 va x 2 teng bo'lganda erishish mumkin, ya'ni: 10 va 30.

Linprog to'plami bilan echimlar lpSolve Parchalar to'plami

Agar avvalgi paketga qo'shilgan bo'lsa, barcha o'zgarishlar allaqachon ishga tushirilgan.<-solveLP(f.obj, b.vec, a.mat, TRUE,const.dir=a.dir,lpSolve=T)) ## ## ## Results of Linear Programming / Linear Optimization ## (using lpSolve) ## ## Objective function (Maximum): 130000 ## ## Solution ## opt ## A 10 ## B 30 ## ## Constraints ## actual dir bvec free ## 1 330 <= 330 0 ## 2 280 <= 400 120 ## 3 240 <= 240 0 ## 4 10 >= 0 10 ## 5 30 >= 12 18

Library(linprog) ## Ogohlantirish: "linprog" paketi R 3.2.2 versiyasi ostida qurilgan (natija).

Natija bir xil, mavjud resurslardan qo'shimcha ma'lumotlar olindi.

Shunday qilib, GNU R chiziqli dasturlash vazifalarini bajarish uchun qo'lda mexanizmni taqdim etishga qaratilgan.

Zavdannya.

Maqsadli funktsiyaning ekstremal qiymatlarini ko'rsatadigan chiziqli dasturlashning grafik sozlamalarini oching: aylanalar davomida.
Keling, maqbul echimlar sohasini ko'rib chiqaylik.
Biz qonunbuzarliklar tizimini grafik tarzda ochamiz. aylanalar davomida.
Shu maqsadda teri notekisliklar bilan ko'rsatilgan tekisliklar bo'ylab tekis va sezilarli (samolyotlar zarba bilan ko'rsatilgan).
3x1+x2=9 deb ataymiz aylanalar davomida.
Birinchi nuqtani topish uchun x 1 = 0 ni tenglashtiramiz. Biz bilamiz x 2 = 8. Boshqa nuqtani topish uchun x 2 = 0 ni tenglashtiramiz. Biz bilamiz x 1 = 8. (0; 8) nuqtani (8) bilan bog'laymiz. 0) to'g'ri chiziq.

Muhimi, tengsizlik bilan belgilanadigan sirtdir.
Nuqtani (0; 0) tanlagandan so'ng, tekislik yuzasida notekislik belgisi sezilarli: 1.

0+1.

0 - 8 ≤ 0, keyin.
to'g'ri chiziq ostidagi tekislik yuzasida x 1 +x 2 - 8≤ 0.

Sirtlarning kesmasi chegara masalalari sistemasining fikrlarini qanoatlantiradigan nuqtaning maydoni va koordinatalari bo'ladi. Hududlar orasidagi chegaralar kesishmalarga boy bo'lganligi muhimdir. Qo'shimcha kalkulyator yordamida haftalik grafik funktsiyalarining to'g'riligini tekshirishingiz mumkin (1) і (2) F = 4x1+6x2 → min masalaning maqsad funksiyasini ko'rib chiqamiz.
F = 0 funktsiyaning qiymatiga mos keladigan to'g'ridan-to'g'ri ko'rib chiqaylik: F = 4x1 +6x2 = 0. Maqsadli funktsiyaning koeffitsientlari bilan katlanmış gradient vektori to'g'ridan-to'g'ri F (X) minimallashtirishni ko'rsatadi.
Vektorning boshi nuqta (0; 0), uchi nuqta (4; 6).

Ruhatimemo qiu to'g'ridan-to'g'ri parallel.
Agar biz minimal yechimni qoldirsak, biz to'g'ridan-to'g'ri belgilangan maydonning birinchi torkaniga yiqilib tushamiz.
Grafikda bu to'g'ridan-to'g'ri nuqta chiziq bilan ko'rsatilgan.

Streyt

F(x) =

(a)-(b) nosimmetrikliklar tizimi tugallanganda, yechim hududi barcha belgilangan yarim tekisliklarda yotadigan ma'nosiz nuqtadir.

Agar ushbu sirtlarning kesishish nuqtalarining bo'laklari qavariq bo'lsa, muammoning ruxsat etilgan ajralishlar mintaqasi (3.8) boy yechim deb ataladigan ajralishlarning konkavisidir (ilgari "boy ajralish" atamasi Vikorist deb ataladi) Bu n 3 kabi).

Bu boy g'altakning tomonlari to'g'ri chiziqlarda yotadi, chiqish tizimidan chiqadigan chiziqlar tengsizlik belgilarini aniq tenglik belgilari bilan almashtirish orqali ajratiladi.

Shunday qilib, ZLP chiqishi eritmaning boyligining bir nuqtasida joylashgan bo'lib, bu maqsadda F funktsiyasi maksimal (minimal) qiymatni oladi.

Bu nuqta faqat boy aloqa qutisi bo'sh bo'lmasa va yangi maqsad uchun funktsiya hayvon bilan cheklangan bo'lsa, o'ynaydi.

Bog'lanishlarning boy kompleksining cho'qqilaridan birida aqlning mavjudligi uchun maqsad funktsiyasi maksimal ahamiyatga ega bo'ladi.


Berilgan cho'qqi uchun L darajali chiziq bo'ladi: c 1 x 1 +c 2 x 2 =h (bu erda h doimiy), gradient vektoriga perpendikulyar va boy eritmadan o'tadi va gradientga parallel ravishda o'tadi. vektor to'liq kesilgan eritma bilan ustunning qolgan burchak nuqtasidan o'tmaguncha (agar gradient vektor talab qilsa, x 1 Ox 2 tekisligiga (z 1; z 2) nuqta qo'ying va unga qarab chizing. kesiklarni to'g'rilash koordinatalarining boshlanishi).

Belgilangan nuqtaning koordinatalari berilgan vazifa uchun optimal rejani ko'rsatadi.

Keling, ZLP ni echishning grafik usuli uchun algoritm bilan tanishtiramiz.

PPP qulfini ochishning grafik usuli uchun algoritm

1. ZLP chiqishi uchun tizim tomonidan ko'rsatilgan boy yechimni yarating.

2. Agar boyning qarori bo'sh bo'lsa, u holda ZLP qarori qabul qilinishi mumkin emas. Har virib uchun vitrata Birja A B 48 12 600 24 21 840 15 27 1350 Foyda 12 18

Kompaniya uchun sotishdan maksimal foyda olishni ta'minlaydigan viruslarni ishlab chiqarish rejasini bilib oling.

Obsyag resursív

Grafik usul yordamida masalani yechish.

Muammoning iqtisodiy va matematik modeli

A va B tipidagi mahsulotlarning soni bir xil bo'lib, muhim ahamiyatga ega.

Resurslarni almashtirish uchun:

Bundan tashqari, sahna ortida

Viruslarning kirib kelishini yo'q qilishni ifodalovchi maqsad funktsiyasi:

Iqtisodiy-matematik model aniq:

Pobudova kreslosi

Ruxsat etilgan echimlar diapazonini aniqlash uchun biz ushbu chegaralar va tartibsizliklar asosida koordinatalar tizimidagi chegara to'g'ri chiziqlaridan foydalanamiz:

Biz to'g'ri chiziqlar o'tadigan nuqtalarni bilamiz:

Teri nosimmetrikliklarini hal qilish uchun PLP o'rtasidagi tizim tekis sirt bo'lib, u chegara to'g'ri chiziqda joylashgan va uning oldida bir tomondan yoyilgan.

Yassilikni aniqlash uchun har qanday nuqtani, masalan, to'g'ri chiziqda yotmaydigan nuqtani (1) olaylik va bu notekislikning o'rniga koordinatalarini (0;0) qo'ying.

Chunki

noaniqlik to'g'ri:

1-tekislikning ajralish joylari chap sirtga to'g'ri keladi

Har qanday nuqtani olaylik, masalan, to'g'ri chiziqda yotmaydigan nuqta (2) va bu notekislikning o'rniga (0;0) koordinatalarini qo'ying.

Chunki

noaniqlik to'g'ri:

2-tekislikning ajralish joylari chap sirtga to'g'ri keladi

Tekislikni aniqlash uchun har qanday nuqtani, masalan, to'g'ri chiziqda yotmaydigan nuqtani (3) olaylik va bu notekislikning o'rniga koordinatalarini (0;0) qo'yamiz.

Chunki

noaniqlik to'g'ri:

3-tekislikning ajralish joylari pastki sirt bilan ifodalanadi Qabul qilinadigan qarorlar maydoni - bu raqam. Maqsad funktsiyasining ba'zi proportsional koeffitsientlari koordinatalari vektori bo'ladi.

Grafik echimning to'liqligini faqat sirtda qadrlaydiganlar uchun biz faqat ikki o'lchovli kenglikda yaratilgan grafik ishlar bilan tanishishimiz mumkin.

Buning sababi ikkita o'zgaruvchan tenglar tizimi bilan o'zaro almashinish - nomuvofiqliklar tizimining mavjudligi, bunda tenglar soni tenglar sonidan 2 ga oshadi, shuning uchun tenglar soni ikkiga teng.

Shuning uchun grafik usul shu qadar tor doiraga egaki, bu haqda chiziqli dasturlash vazifalarini hal qilishning maxsus usuli sifatida gapirish mumkin emas. Biroq, chiziqli dasturlash masalalarini echish bo'yicha dastlabki ma'lumotlarni ishlab chiqish uchun grafik usul katta qiziqish uyg'otadi. .

Bundan tashqari, bu sizga adolatni geometrik tarzda tasdiqlash imkonini beradi

chiziqli dasturlash teoremalari

Grafik metodning nazariy asoslari

Xo'sh, chiziqli dasturlash fani.

Tengsizliklar tizimini qanoatlantiradigan o'zgaruvchilarning noma'lum qiymatlarini bilish kerak. u holda chiziqli shakl o'zining optimal qiymatiga erishadi.

dumba 3.

dumba 4.

Chiziqli dasturlashni belgilashning grafik usulidan foydalaning, unda siz chegaralar uchun minimal funktsiyani bilishingiz kerak Bir vaqtning o'zida grafik usul yordamida ma'lumotlarni ko'rsatishni davom ettirishimiz mumkin

Shu paytgacha bu qaror chiziqli dasturlash muammosining yechimi optimal yechim yagona va bir xil bo‘lishi uchun to‘g‘rilanganligidan kelib chiqqan edi.

Endi bir ko'rib chiqaylik, agar aqlingiz vayron bo'lsa. Bu dumbalarda, yechim bu dumbalarni ko'rsatadigan belgilarga asoslanib, oldingi dumbalarda ko'rsatilgandek bo'ladi. Butun 5.

O'zaro ulanishda maksimal funktsiyani bilishni talab qiladigan chiziqli dasturlashni belgilashning grafik usulini qulfdan chiqaring. Bir vaqtning o'zida grafik usul yordamida ma'lumotlarni ko'rsatishni davom ettirishimiz mumkin

Kompaniyani rivojlantirish sxemasi ruxsat berish uchun to'g'ri ajratilgan ...