Bahay Pulpitis Pagbubuo ng problema. Hanapin ang maximum ng layunin ng function gamit ang isang graphical na pamamaraan

Pagbubuo ng problema. Hanapin ang maximum ng layunin ng function gamit ang isang graphical na pamamaraan

Layunin na pag-andar- isang real o integer function ng ilang variable na napapailalim sa optimization (minimization o maximization) upang malutas ang ilang problema sa optimization. Term na ginamit sa mathematical programming, operations research, linear programming, theory mga solusyon sa istatistika at iba pang mga lugar ng matematika, pangunahin sa isang inilapat na kalikasan, bagama't ang layunin ng pag-optimize ay maaari ding maging solusyon sa problemang matematika mismo. Bukod sa layunin function Sa isang problema sa pag-optimize, maaaring tukuyin ang mga hadlang para sa mga variable sa anyo ng isang sistema ng mga pagkakapantay-pantay o hindi pagkakapantay-pantay. SA pangkalahatang kaso ang mga argumento ng target na function ay maaaring tukuyin sa mga arbitrary na hanay.

Mga halimbawa

Makinis na mga function at sistema ng mga equation

Ang problema ng paglutas ng anumang sistema ng mga equation

( F 1 (x 1 , x 2 , … , x M) = 0 F 2 (x 1 , x 2 , … , x M) = 0 … F N (x 1 , x 2 , … , x M) = 0 ( \displaystyle \left\((\begin(matrix)F_(1)(x_(1),x_(2),\ldots ,x_(M))=0\\F_(2)(x_(1),x_ (2),\ldots ,x_(M))=0\\\ldots \\F_(N)(x_(1),x_(2),\ldots ,x_(M))=0\end(matrix) )\tama.)

ay maaaring formulated bilang isang problema ng pagliit ng layunin function

S = ∑ j = 1 N F j 2 (x 1 , x 2 , … , x M) (1) (\displaystyle S=\sum _(j=1)^(N)F_(j)^(2)( x_(1),x_(2),\ldots ,x_(M))\qquad (1))

Kung ang mga pag-andar ay makinis, kung gayon ang problema sa pag-minimize ay maaaring malutas gamit ang mga pamamaraan ng gradient.

Para sa anumang makinis na layunin ng function, ang mga partial derivatives na may kinalaman sa lahat ng mga variable ay maaaring itumbas sa 0 (\displaystyle 0). Ang pinakamabuting kalagayan ng layunin ng function ay isa sa mga solusyon sa naturang sistema ng mga equation. Sa kaso ng function (1) (\displaystyle (1)) ito ang magiging sistema ng mga equation ng pamamaraan hindi bababa sa mga parisukat(MNC). Ang bawat solusyon ng orihinal na sistema ay isang solusyon ng pinakamababang sistema ng mga parisukat. Kung ang orihinal na sistema ay hindi pare-pareho, kung gayon ang pinakamaliit na sistema ng mga parisukat, na palaging may solusyon, ay nagpapahintulot sa amin na makakuha ng tinatayang solusyon ng orihinal na sistema. Ang bilang ng mga equation sa pinakamaliit na sistema ng mga parisukat ay tumutugma sa bilang ng mga hindi alam, na kung minsan ay nagpapadali sa solusyon ng magkasanib na mga paunang sistema.

Linear programming

Sa iba sikat na halimbawa Ang layunin ng function ay isang linear function na lumitaw sa mga problema sa linear programming. Sa kaibahan sa quadratic objective function, ang pag-optimize ng isang linear function ay posible lamang kung mayroong mga paghihigpit sa anyo ng isang sistema ng linear equalities o inequalities.

Kombinatoryal na pag-optimize

Ang isang tipikal na halimbawa ng isang combinatorial objective function ay ang layunin ng function ng naglalakbay na problema sa salesman. Ang function na ito ay katumbas ng haba ng Hamiltonian cycle sa graph. Ito ay tinukoy sa hanay ng mga permutasyon ng n − 1 (\displaystyle n-1) vertices ng graph at tinutukoy ng matrix ng mga haba ng mga gilid ng graph. Ang eksaktong solusyon sa mga ganitong problema ay kadalasang bumababa sa mga opsyon sa pag-enumerate.

Kabanata 1. Pahayag ng pangunahing problema sa linear programming

  1. Linear programming

Ang linear programming ay isang sangay ng mathematical programming na nag-aaral ng mga pamamaraan para sa paglutas ng mga matinding problema na nailalarawan sa pamamagitan ng linear dependence sa pagitan ng mga variable at linear na pagsubok. Ang ganitong mga problema ay nakakahanap ng malawak na aplikasyon sa iba't ibang larangan ng aktibidad ng tao. Ang sistematikong pag-aaral ng mga problema ng ganitong uri ay nagsimula noong 1939–1940. sa mga gawa ni L.V. Kantorovich.

Ang mga problema sa matematika ng linear programming ay kinabibilangan ng mga pag-aaral ng mga tiyak na sitwasyon sa produksyon at pang-ekonomiya, na sa isang anyo o iba pa ay binibigyang kahulugan bilang mga problema tungkol sa pinakamainam na paggamit ng limitadong mga mapagkukunan.

Ang hanay ng mga problema na nalutas gamit ang mga pamamaraan ng linear programming ay medyo malawak, halimbawa:

    ang problema ng pinakamainam na paggamit ng mga mapagkukunan sa pagpaplano ng produksyon;

    problema sa pinaghalong (pagpaplano ng komposisyon ng produkto);

    problema sa paghahanap ng pinakamainam na kumbinasyon iba't ibang uri mga produkto para sa imbakan sa mga bodega (pamamahala ng imbentaryo o);

    mga gawain sa transportasyon (pagsusuri ng lokasyon ng negosyo, paggalaw ng mga kalakal).

Ang linear programming ay ang pinaka-binuo at malawakang ginagamit na seksyon ng mathematical programming (bilang karagdagan, kabilang dito ang: integer, dynamic, nonlinear, parametric programming). Ito ay ipinaliwanag tulad ng sumusunod:

    Ang mga modelo ng matematika ng isang malaking bilang ng mga problema sa ekonomiya ay linear na may paggalang sa mga kinakailangang variable;

    Ang ganitong uri ng problema ay kasalukuyang pinaka-pinag-aralan. Idinisenyo para sa kanya mga espesyal na pamamaraan, sa tulong kung saan nalutas ang mga problemang ito, at ang kaukulang mga programa sa computer;

    maraming mga problema sa linear programming, na nalutas na, ay natagpuan ang malawak na aplikasyon;

    Ang ilang mga problema, na sa orihinal na pagbabalangkas ay hindi linear, pagkatapos ng isang bilang ng mga karagdagang paghihigpit at pagpapalagay ay maaaring maging linear o maaaring mabawasan sa isang anyo na maaari silang malutas sa pamamagitan ng mga linear na pamamaraan ng programming.

Ang modelong pang-ekonomiya at matematika ng anumang problema sa linear programming ay kinabibilangan ng: isang layunin na function, pinakamainam na halaga na (maximum o minimum) ay kailangang matagpuan; mga paghihigpit sa anyo ng isang sistema linear na equation o hindi pagkakapantay-pantay; kinakailangan ng di-negatibiti ng mga variable.

SA pangkalahatang pananaw ang modelo ay nakasulat tulad ng sumusunod:

layunin function

(1.1) na may mga paghihigpit

(1.2) hindi-negatibong mga kinakailangan

(1.3) kung saan x j– mga variable (hindi alam);

- mga coefficient ng problema sa linear programming.

Ang problema ay upang mahanap ang pinakamainam na halaga ng function (1.1) na napapailalim sa mga hadlang (1.2) at (1.3).

Ang sistema ng mga hadlang (1.2) ay tinatawag na functional constraints ng problema, at ang mga hadlang (1.3) ay tinatawag na direkta.

Ang isang vector na nakakatugon sa mga hadlang (1.2) at (1.3) ay tinatawag na isang tinatanggap na solusyon (plano) ng isang linear na problema sa programming. Ang plano kung saan ang function (1.1) ay umabot sa maximum (minimum) na halaga nito ay tinatawag na optimal.

1.2. Simplex na paraan para sa paglutas ng mga problema sa linear programming

Ang simplex na paraan ay binuo at unang ginamit upang malutas ang mga problema noong 1947 ng Amerikanong matematiko na si J. Danzig.

Ang mga problema sa two-dimensional na linear programming ay graphical na nalutas. Para sa kaso N=3 maaari naming isaalang-alang tatlong dimensional na espasyo at maaabot ng layunin ng function ang pinakamainam na halaga nito sa isa sa mga vertices ng polyhedron.

Ang isang tinatanggap na solusyon (tinatanggap na plano) ng isang problema sa LP na ibinigay sa karaniwang anyo ay isang nakaayos na hanay ng mga numero (x1, x2, ..., xn) na tumutugon sa mga paghihigpit; ito ay isang punto sa n-dimensional na espasyo.

Ang hanay ng mga tinatanggap na solusyon ay bumubuo sa rehiyon ng mga tinatanggap na solusyon (ADS) ng problema sa LP. Ang ODR ay isang convex polyhedron (polygon).

Sa pangkalahatan, kapag ang problema ay nagsasangkot ng N-unknowns, maaari nating sabihin na ang rehiyon ng mga magagawang solusyon, na tinukoy ng sistema ng paglilimita ng mga kondisyon, ay kinakatawan ng isang convex polyhedron sa n-dimensional na espasyo at ang pinakamainam na halaga ng layunin ng function ay nakamit. sa isa o higit pang mga vertex.

Ang pangunahing solusyon ay isang solusyon kung saan ang lahat ng mga libreng variable ay katumbas ng zero.

Ang solusyon sa suporta ay isang pangunahing di-negatibong solusyon. Ang solusyon sa suporta ay maaaring hindi mabulok at mabulok. Ang isang reference na solusyon ay tinatawag na non-degenerate kung ang bilang ng mga non-zero coordinate nito ay katumbas ng ranggo ng system, kung hindi man ito ay degenerate.

Ang isang katanggap-tanggap na solusyon kung saan ang layunin ng pag-andar ay umabot sa matinding halaga nito ay tinatawag na pinakamainam at tinutukoy .

Napakahirap lutasin ang mga problemang ito nang grapiko kapag ang bilang ng mga variable ay higit sa 3. Mayroong isang unibersal na paraan upang malutas ang mga problema sa linear programming, na tinatawag na simplex method.

Ang simplex na paraan ay isang unibersal na pamamaraan para sa paglutas ng mga problema sa LP, na isang umuulit na proseso na nagsisimula sa isang solusyon at, sa paghahanap ng pinakamahusay na opsyon, gumagalaw sa mga sulok na punto ng rehiyon ng mga magagawang solusyon hanggang sa maabot nito ang pinakamainam na halaga.

Maaari itong magamit upang malutas ang anumang problema sa linear programming.

Ang simplex na paraan ay batay sa ideya ng sunud-sunod na pagpapabuti ng resultang solusyon.

Ang geometric na kahulugan ng simplex na paraan ay isang sunud-sunod na paglipat mula sa isang vertex ng constraint polyhedron sa kalapit na isa, kung saan ang layunin ng function ay tumatagal ng pinakamahusay (o hindi bababa sa hindi ang pinakamasama) na halaga hanggang sa ang pinakamainam na solusyon ay natagpuan - ang vertex kung saan ang pinakamainam na halaga ay nakamit ang pag-andar ng layunin (kung ang problema ay may pangwakas na pinakamabuting kalagayan).

Kaya, ang pagkakaroon ng sistema ng mga hadlang na nabawasan sa canonical form (lahat ng functional constraints ay may anyo ng pagkakapantay-pantay), nakakahanap sila ng anumang pangunahing solusyon sa sistemang ito, na nagmamalasakit lamang sa paghahanap nito nang simple hangga't maaari. Kung ang unang pangunahing solusyon na natagpuan ay naging magagawa, pagkatapos ay susuriin ito para sa pinakamainam. Kung ito ay hindi pinakamainam, pagkatapos ay isang paglipat ay ginawa sa isa pa, kinakailangang tanggapin, pangunahing solusyon. Ginagarantiyahan ng simplex na paraan na sa bagong solusyon na ito ang layunin ng pag-andar, kung hindi nito maabot ang pinakamabuting kalagayan, ay lalapit dito (o hindi bababa sa hindi lalayo dito). Ang parehong ay ginagawa sa isang bagong magagawa na pangunahing solusyon hanggang sa isang solusyon ay natagpuan na pinakamainam.

Ang proseso ng paglalapat ng simplex na pamamaraan ay nagsasangkot ng pagpapatupad ng tatlong pangunahing elemento nito:

    isang paraan para sa pagtukoy ng anumang paunang magagawa na pangunahing solusyon sa isang problema;

    ang panuntunan ng paglipat sa pinakamahusay (mas tiyak, hindi mas masahol pa) solusyon;

    criterion para masuri ang pinakamainam ng nahanap na solusyon.

Ang simplex na paraan ay may kasamang isang bilang ng mga yugto at maaaring mabuo sa anyo ng isang malinaw na algorithm (isang malinaw na pagtuturo para sa pagsasagawa ng mga sunud-sunod na operasyon). Ito ay nagpapahintulot sa iyo na matagumpay na mag-program at ipatupad ito sa isang computer. Ang mga problema sa isang maliit na bilang ng mga variable at mga hadlang ay maaaring malutas nang manu-mano gamit ang simplex na pamamaraan.

6.1. Panimula

Pag-optimize. Bahagi 1

Binibigyang-daan ka ng mga paraan ng pag-optimize na pumili pinakamahusay na pagpipilian mga disenyo mula sa lahat posibleng mga opsyon. SA mga nakaraang taon ang mga pamamaraang ito ay ibinigay malaking atensyon, at bilang isang resulta, ang isang bilang ng mga napakahusay na algorithm ay binuo na ginagawang posible upang mahanap ang pinakamainam na pagpipilian sa disenyo gamit ang isang computer. Binabalangkas ng kabanatang ito ang mga pangunahing kaalaman sa teorya ng pag-optimize, sinusuri ang mga prinsipyong pinagbabatayan ng pagbuo ng mga algorithm para sa pinakamainam na solusyon, inilalarawan ang pinakakilalang mga algorithm, at sinusuri ang kanilang mga pakinabang at disadvantages.

6.2.Mga Batayan ng teorya ng pag-optimize

Ang terminong "optimization" sa panitikan ay tumutukoy sa isang proseso o pagkakasunud-sunod ng mga operasyon na nagpapahintulot sa isa na makakuha ng isang pinong solusyon. Bagama't ang pinakalayunin ng pag-optimize ay ang mahanap ang pinakamahusay, o "pinakamainam," na solusyon, ang isa ay karaniwang kailangang manirahan para sa pagpapabuti ng mga kilalang solusyon sa halip na gawing perpekto ang mga ito. Samakatuwid, ang pag-optimize ay nauunawaan sa halip bilang isang pagnanais para sa pagiging perpekto, na maaaring hindi makamit.

Isinasaalang-alang ang ilang arbitraryong sistema na inilarawan ng m equation na may n hindi alam, maaari nating makilala ang tatlong pangunahing uri ng mga problema. Kung m=n, ang problema ay tinatawag na algebraic. Ang problemang ito ay karaniwang may isang solusyon. Kung m>n, kung gayon ang problema ay labis na natukoy at, bilang panuntunan, ay walang solusyon. Sa wakas, para sa m

Bago namin simulan ang pagtalakay sa mga isyu sa pag-optimize, ipinakilala namin ang ilang mga kahulugan.

Mga parameter ng disenyo

Ang terminong ito ay tumutukoy sa mga independiyenteng variable na parameter na ganap at malinaw na tinutukoy ang problema sa disenyo na niresolba. Ang mga parameter ng disenyo ay hindi kilalang mga dami na ang mga halaga ay kinakalkula sa panahon ng proseso ng pag-optimize. Anumang basic o derived na dami na nagsisilbing quantitatively na naglalarawan sa system ay maaaring magsilbi bilang mga parameter ng disenyo. Oo, maaaring ito ay hindi kilalang mga halaga haba, masa, oras, temperatura. Ang bilang ng mga parameter ng disenyo ay nagpapakilala sa antas ng pagiging kumplikado ng isang naibigay na problema sa disenyo. Karaniwan ang bilang ng mga parameter ng disenyo ay tinutukoy ng n, at ang mga parameter ng disenyo mismo sa pamamagitan ng x na may kaukulang mga indeks. Kaya, ang n mga parameter ng disenyo ng problemang ito ay ilalarawan ng

X1, x2, x3,...,xn.

Layunin na pag-andar

Ito ay isang expression na ang halaga ay sinisikap ng inhinyero na gawin ang maximum o minimum. Ang layunin ng function ay nagbibigay-daan sa iyo upang quantitatively ihambing ang dalawang alternatibong solusyon. Mula sa isang mathematical point of view, ang layunin ng function ay naglalarawan ng ilang (n+1)-dimensional na ibabaw. Ang halaga nito ay tinutukoy ng mga parameter ng disenyo

M=M(x 1, x 2,...,x n).

Ang mga halimbawa ng layunin ng mga function na madalas na matatagpuan sa pagsasanay sa engineering ay ang gastos, timbang, lakas, sukat, kahusayan. Kung mayroon lamang isang parameter ng disenyo, kung gayon ang layunin ng function ay maaaring katawanin ng isang curve sa eroplano (Larawan 6.1). Kung mayroong dalawang mga parameter ng disenyo, kung gayon ang layunin ng function ay ipapakita bilang isang ibabaw sa tatlong-dimensional na espasyo (Larawan 6.2). Sa tatlo o higit pang mga parameter ng disenyo, ang mga ibabaw na tinukoy ng layunin ng function ay tinatawag na hypersurfaces at hindi maaaring ilarawan.

kasal sa pamamagitan ng ordinaryong paraan. Ang mga topological na katangian ng ibabaw ng layunin ng function ay may malaking papel sa proseso ng pag-optimize, dahil ang pagpili ng pinaka mahusay na algorithm ay nakasalalay sa kanila.

Ang layunin na pag-andar sa ilang mga kaso ay maaaring tumagal ng pinaka-hindi inaasahang mga anyo. Halimbawa, hindi laging posible na ipahayag ito sa

Fig. 1. One-dimensional na layunin ng function.

Fig. 6.2. Dalawang-dimensional na layunin na function.

saradong mathematical form, sa ibang mga kaso maaari itong

kumakatawan sa isang piecewise smooth function. Ang pagtukoy ng layunin na function ay maaaring minsan ay nangangailangan ng isang talahanayan ng teknikal na data (halimbawa, isang talahanayan ng estado ng singaw ng tubig) o maaaring mangailangan ng isang eksperimento. Sa ilang mga kaso, ang mga parameter ng disenyo ay kumukuha lamang ng mga halaga ng integer. Ang isang halimbawa ay ang bilang ng mga ngipin sa loob paghahatid ng gear o ang bilang ng mga bolts sa flange. Minsan ang mga parameter ng disenyo ay may dalawang kahulugan lamang - oo o hindi. Ang mga qualitative na parameter, tulad ng kasiyahang naranasan ng mamimili na bumili ng produkto, pagiging maaasahan, aesthetics, ay mahirap isaalang-alang sa proseso ng pag-optimize, dahil halos imposible silang makilala sa dami. Gayunpaman, sa anumang anyo ang layunin ng pag-andar ay ipinakita, ito ay dapat na isang hindi malabo na pag-andar ng mga parameter ng disenyo.

Ang isang bilang ng mga problema sa pag-optimize ay nangangailangan ng pagpapakilala ng higit sa isang layunin na function. Minsan ang isa sa kanila ay maaaring lumabas na hindi tugma sa isa pa. Ang isang halimbawa ay ang disenyo ng sasakyang panghimpapawid, kung saan ang pinakamataas na lakas, pinakamababang timbang at pinakamababang gastos ay sabay na kinakailangan. Sa ganitong mga kaso, ang taga-disenyo ay dapat magpakilala ng isang sistema ng mga priyoridad at magtalaga ng isang tiyak na walang sukat na multiplier sa bawat layunin ng function. Bilang resulta, lumilitaw ang isang "compromise function", na nagpapahintulot sa paggamit ng isang composite objective function sa panahon ng proseso ng pag-optimize.

Paghahanap ng minimum at maximum

Ang ilang mga algorithm sa pag-optimize ay idinisenyo upang mahanap ang maximum, ang iba - upang mahanap ang minimum. Gayunpaman, anuman ang uri ng extremum na problema na nalutas, maaari mong gamitin ang parehong algorithm, dahil ang problema sa minimization ay madaling maging isang maximum na problema sa paghahanap sa pamamagitan ng pag-reverse ng sign ng layunin na function. Ang pamamaraan na ito ay inilalarawan sa Fig. 6.3.

Disenyo ng espasyo

Ito ang pangalan ng lugar na tinukoy ng lahat ng n mga parameter ng disenyo. Ang espasyo sa disenyo ay hindi kasing laki ng tila, dahil karaniwan itong limitado ng ilang

mga kondisyon na nauugnay sa pisikal na kakanyahan ng problema. Ang mga hadlang ay maaaring napakalakas na ang problema ay hindi magkakaroon

Fig.6.3. Pagbabago ng tanda ng layunin ng function sa kabaligtaran

ang pinakamataas na gawain ay nagiging isang minimum na gawain.

kasiya-siyang solusyon. Ang mga hadlang ay nahahati sa dalawang pangkat: mga hadlang - pagkakapantay-pantay at mga hadlang - hindi pagkakapantay-pantay.

Mga hadlang - Mga pagkakapantay-pantay

Mga hadlang - pagkakapantay-pantay - ay ang mga dependency sa pagitan ng mga parameter ng disenyo na dapat isaalang-alang kapag naghahanap ng solusyon. Sinasalamin nila ang mga batas ng kalikasan, ekonomiya, batas, umiiral na panlasa at kakayahang magamit mga kinakailangang materyales. Ang bilang ng mga hadlang - ang pagkakapantay-pantay ay maaaring anuman. Magkamukha sila

C 1 (x 1 , x 2 ,...,x n)=0,

C 2 (x 1, x 2,...,x n)=0,

..................

C j (x 1 , x 2 ,...,x n)=0.

Kung mareresolba ang alinman sa mga ugnayang ito nang may kinalaman sa isa sa mga parameter ng disenyo, kung gayon, pinapayagan nitong maibukod ang parameter na ito sa proseso ng pag-optimize. Binabawasan nito ang bilang ng mga sukat ng espasyo sa disenyo at pinapasimple ang solusyon ng problema.

Mga hadlang - hindi pagkakapantay-pantay

Ito ay isang espesyal na uri ng pagpilit na ipinahayag ng mga hindi pagkakapantay-pantay. Sa pangkalahatan, maaaring mayroong marami sa kanila hangga't gusto mo, at lahat sila ay may anyo

z 1 r 1 (x 1 , x 2 ,...,x n) Z 1

z 2 r 2 (x 1 , x 2 ,...,x n) Z 2

.......................

z k r k (x 1 , x 2 ,...,x n) Z k

Dapat pansinin na napakadalas, dahil sa mga paghihigpit, ang pinakamainam na halaga ng layunin ng pag-andar ay nakamit hindi kung saan ang ibabaw nito ay may zero gradient. Kadalasan ang pinakamahusay na solusyon ay tumutugma sa isa sa mga hangganan ng espasyo ng disenyo.

Lokal na pinakamabuting kalagayan

Ito ang pangalan ng punto sa espasyo ng disenyo kung saan mayroon ang layunin ng function pinakamataas na halaga kumpara sa mga halaga nito sa lahat ng iba pang mga punto sa agarang paligid nito.

Fig. 6.4.Ang isang di-makatwirang layunin function ay maaaring magkaroon ng ilang

lokal na optima.

Sa Fig. Ipinapakita ng Figure 6.4 ang isang one-dimensional na layunin na function na mayroong dalawang lokal na optima. Kadalasan ang espasyo ng disenyo ay naglalaman ng maraming lokal na optima at dapat gawin ang pag-iingat na huwag magkamali sa una para sa pinakamainam na solusyon sa problema.

Global pinakamabuting kalagayan

Ang pandaigdigang pinakamainam ay ang pinakamainam na solusyon para sa buong espasyo ng disenyo. Ito ay mas mahusay kaysa sa lahat ng iba pang mga solusyon na naaayon sa lokal na optima, at ito ang hinahanap ng taga-disenyo. Posible na mayroong ilang pantay na global optima na matatagpuan sa iba't ibang parte disenyong espasyo. Pinakamainam na inilalarawan ang isang halimbawa kung paano ipinakita ang isang problema sa pag-optimize.

Halimbawa 6.1

Ipagpalagay na kailangan mong magdisenyo ng isang hugis-parihaba na lalagyan na may dami na 1 m na inilaan para sa pagdadala ng hindi nakabalot na hibla. Ito ay kanais-nais na ang maliit na materyal hangga't maaari ay ginugol sa paggawa ng naturang mga lalagyan (ipagpalagay na pare-pareho ang kapal ng pader, nangangahulugan ito na ang ibabaw na lugar ay dapat na minimal), dahil ito ay magiging mas mura. Upang ang lalagyan ay madaling makuha ng isang forklift, ang lapad nito ay dapat na hindi bababa sa 1.5 m.

Bumuo tayo ng problemang ito sa isang form na maginhawa para sa paglalapat ng algorithm ng pag-optimize.

Mga parameter ng disenyo: x 1, x 2, x 3.

Ang layunin ng pag-andar (na kailangang mabawasan) ay ang lugar ng lateral surface ng lalagyan:

A=2(x 1 x 2 +x 2 x 3 +x 1 x 3), m2.

Constraint - pagkakapantay-pantay:

Dami = x 1 x 2 x 3 = 1m3.

Limitasyon - hindi pagkakapantay-pantay:

Mga problema sa linear programming

Linear programming (LP) ay isa sa mga sangay ng mathematical programming - isang disiplina na nag-aaral ng extremal (optimization) na mga problema at bumubuo ng mga pamamaraan para sa paglutas ng mga ito.

Problema sa pag-optimize ay isang problema sa matematika na binubuo ng paghahanap ng pinakamainam (i.e., maximum o minimum) na halaga ng layunin na pag-andar, at ang mga halaga ng mga variable ay dapat kabilang sa isang tiyak na hanay ng mga katanggap-tanggap na halaga (APV).

Sa pangkalahatan, ang pagbabalangkas ng isang matinding problema ng mathematical programming ay binubuo sa pagtukoy ng pinakamalaking o pinakamababang halaga function na tinatawag target na function, sa ilalim ng mga kundisyon (constraints), kung saan at binibigyan ng mga function, at binibigyan ng mga pare-parehong halaga. Sa kasong ito, ang mga paghihigpit sa anyo ng mga pagkakapantay-pantay at hindi pagkakapantay-pantay ay tumutukoy sa hanay (lugar) ng mga tinatanggap na solusyon (ADS), at tinatawag na mga parameter ng disenyo.

Depende sa uri ng mga pag-andar, ang mga problema sa programming sa matematika ay nahahati sa isang bilang ng mga klase (linear, nonlinear, convex, integer, stochastic, dynamic na programming, atbp.).

SA pangkalahatang pananaw ang problema sa LP ay may sumusunod na anyo:

, (5.1)

, , (5.2)

, , (5.3)

kung saan ang , , ay binibigyan ng mga pare-parehong halaga.

Function (5.1) ay tinatawag na layunin function; sistema (5.2), (5.3) – isang sistema ng mga paghihigpit; kondisyon (5.4) - ang kondisyon ng di-negatibiti ng mga parameter ng disenyo.

Ang hanay ng mga parameter ng disenyo na nagbibigay-kasiyahan sa mga hadlang (5.2), (5.3) at (5.4) ay tinatawag katanggap-tanggap na solusyon o plano.

Ang pinakamainam na solusyon o pinakamainam na plano Ang problema sa LP ay tinatawag na isang tinatanggap na solusyon kung saan ang layunin ng function (5.1) ay tumatagal ng pinakamainam (maximum o minimum) na halaga.

Karaniwang gawain Ang LP ay ang problema sa paghahanap ng maximum (minimum) na halaga ng layunin ng function (5.1) sa ilalim ng kondisyon (5.2) at (5.4), kung saan , , i.e. mga. Ang mga paghihigpit lamang sa anyo ng mga hindi pagkakapantay-pantay (5.2) at lahat ng mga parameter ng disenyo ay nakakatugon sa kondisyon ng di-negatibiti, at walang mga kundisyon sa anyo ng mga pagkakapantay-pantay:

,

, , (5.5)

.

Canonical (pangunahing) gawain Ang LP ay ang problema sa paghahanap ng maximum (minimum) na halaga ng layunin ng function (5.1) sa ilalim ng kondisyon (5.3) at (5.4), kung saan , , i.e. mga. ang mga paghihigpit lamang sa anyo ng mga pagkakapantay-pantay (5.3) at lahat ng mga parameter ng disenyo ay nakakatugon sa kondisyon ng hindi negatibo, at walang mga kundisyon sa anyo ng mga hindi pagkakapantay-pantay:

,

.

Ang problema sa canonical LP ay maaari ding isulat sa matrix at vector form.

Ang matrix form ng canonical LP problem ay may sumusunod na anyo:

Vector form ng canonical LP na problema.

Bumuo tayo sa eroplano ng isang hanay ng mga magagawang solusyon sa sistema ng mga linear na hindi pagkakapantay-pantay at geometrically hanapin ang pinakamababang halaga ng layunin ng function.

Bumubuo kami ng mga tuwid na linya sa x 1 x 2 coordinate system

Natagpuan namin ang kalahating eroplano na tinukoy ng system. Dahil ang mga hindi pagkakapantay-pantay ng sistema ay nasiyahan para sa anumang punto sa kaukulang kalahating eroplano, sapat na upang suriin ang mga ito para sa anumang isang punto. Ginagamit namin ang punto (0;0). Ipalit natin ang mga coordinate nito sa unang hindi pagkakapantay-pantay ng system. kasi , pagkatapos ay tinutukoy ng hindi pagkakapantay-pantay ang isang kalahating eroplano na hindi naglalaman ng punto (0;0). Pareho naming tinukoy ang natitirang kalahating eroplano. Nakita namin ang hanay ng mga magagawang solusyon bilang karaniwang bahagi ng mga nagresultang kalahating eroplano - ito ang may kulay na lugar.

Bumubuo kami ng isang vector at isang linya ng zero level na patayo dito.


Ang paglipat ng tuwid na linya (5) sa direksyon ng vector at makikita natin na ang pinakamataas na punto ng rehiyon ay nasa punto A ng intersection ng tuwid na linya (3) at tuwid na linya (2). Nahanap namin ang solusyon sa sistema ng mga equation:

Nangangahulugan ito na nakuha namin ang punto (13;11) at.

Ang paglipat ng tuwid na linya (5) sa direksyon ng vector at makikita natin na ang pinakamababang punto ng rehiyon ay nasa punto B ng intersection ng tuwid na linya (1) at tuwid na linya (4). Nahanap namin ang solusyon sa sistema ng mga equation:

Nangangahulugan ito na nakuha namin ang punto (6;6) at.

2. Ang isang kumpanya ng muwebles ay gumagawa ng pinagsamang mga cabinet at computer table. Ang kanilang produksyon ay limitado sa pamamagitan ng pagkakaroon ng mga hilaw na materyales (mataas na kalidad na mga board, mga kabit) at ang oras ng pagpapatakbo ng mga makina na nagpoproseso sa kanila. Ang bawat cabinet ay nangangailangan ng 5 m2 ng mga board, para sa isang table - 2 m2. Ang mga fitting ay nagkakahalaga ng $10 para sa isang cabinet, at $8 para sa isang table. Maaaring makatanggap ang kumpanya mula sa mga supplier nito ng hanggang 600 m2 ng mga board bawat buwan at mga accessories na nagkakahalaga ng $2,000. Ang bawat cabinet ay nangangailangan ng 7 oras ng pagpapatakbo ng makina, at ang talahanayan ay nangangailangan ng 3 oras. May kabuuang 840 oras ng pagpapatakbo ng makina ang maaaring gamitin bawat buwan.

Ilang kumbinasyong cabinet at computer table ang dapat gawin ng isang kumpanya bawat buwan para mapakinabangan ang mga kita kung ang isang cabinet ay maghahatid ng $100 na tubo at ang bawat desk ay magdadala ng $50?

  • 1. Gumawa matematikal na modelo problema at lutasin ito gamit ang simplex method.
  • 2. Gumawa ng mathematical model ng dual problem, isulat ang solusyon nito batay sa solusyon sa orihinal.
  • 3. Itatag ang antas ng kakulangan ng mga mapagkukunang ginamit at bigyang-katwiran ang kakayahang kumita ng pinakamainam na plano.
  • 4. Tuklasin ang mga posibilidad ng karagdagang pagtaas ng output ng produksyon depende sa paggamit ng bawat uri ng mapagkukunan.
  • 5. Tayahin ang pagiging posible ng pagpapakilala ng isang bagong uri ng produkto - mga istante, kung ang paggawa ng isang istante ay nagkakahalaga ng 1 m 2 ng mga board at accessories na nagkakahalaga ng $5, at kinakailangang gumastos ng 0.25 oras ng pagpapatakbo ng makina at ang kita mula sa pagbebenta ng ang isang istante ay $20.
  • 1. Bumuo tayo ng mathematical model para sa problemang ito:

Tukuyin natin sa pamamagitan ng x 1 ang dami ng produksyon ng mga cabinet, at x 2 - ang dami ng produksyon ng mga talahanayan. Gumawa tayo ng isang sistema ng mga paghihigpit at isang function ng layunin:

Malutas namin ang problema gamit ang simplex na pamamaraan. Isulat natin ito sa canonical form:

Isulat natin ang data ng gawain sa anyo ng isang talahanayan:

Talahanayan 1

kasi Ngayon ang lahat ng mga delta ay mas malaki kaysa sa zero, pagkatapos ay isang karagdagang pagtaas sa halaga ng function ng layunin f ay imposible at nakakuha kami ng isang pinakamainam na plano.


Panimula

Ang kasalukuyang yugto ng pag-unlad ng tao ay nakikilala sa pamamagitan ng katotohanan na ang edad ng enerhiya ay pinapalitan ng edad ng computer science. Mayroong masinsinang pagpapakilala ng mga bagong teknolohiya sa lahat ng larangan ng aktibidad ng tao. Mayroong isang tunay na problema ng paglipat sa isang lipunan ng impormasyon, kung saan ang pag-unlad ng edukasyon ay dapat maging isang priyoridad. Nagbabago rin ang istruktura ng kaalaman sa lipunan. Lalong nagiging mahalaga para sa praktikal na buhay makakuha ng pangunahing kaalaman na nakakatulong sa malikhaing pag-unlad ng indibidwal. Mahalaga rin ang constructiveness ng nakuhang kaalaman at ang kakayahang buuin ito alinsunod sa layunin. Batay sa kaalaman, nabubuo ang mga bago mapagkukunan ng impormasyon lipunan. Ang pagbuo at pagkuha ng bagong kaalaman ay dapat na nakabatay sa isang mahigpit na pamamaraan ng isang diskarte sa sistema, kung saan ang diskarte ng modelo ay sumasakop sa isang espesyal na lugar. Ang mga posibilidad ng diskarte sa modelo ay lubos na magkakaibang, kapwa sa mga tuntunin ng mga pormal na modelo na ginamit at sa mga pamamaraan ng pagpapatupad ng mga pamamaraan ng pagmomodelo. Ang pisikal na pagmomodelo ay nagpapahintulot sa isa na makakuha ng maaasahang mga resulta para sa medyo simpleng mga sistema.

Sa kasalukuyan, imposibleng pangalanan ang isang lugar ng aktibidad ng tao kung saan ang mga pamamaraan ng pagmomolde ay hindi gagamitin sa isang antas o iba pa. Ito ay totoo lalo na sa lugar ng pamamahala iba't ibang sistema, kung saan ang mga pangunahing proseso ay paggawa ng desisyon batay sa impormasyong natanggap.

1. Paglalahad ng suliranin

minimum na layunin ng pag-andar

Lutasin ang problema sa paghahanap ng pinakamaliit na layunin ng function para sa sistema ng mga hadlang na tinukoy ng solusyon polygon alinsunod sa opsyon No. 16 ng gawain. Ang solusyon polygon ay ipinapakita sa Figure 1:

Figure 1 - Polygon ng mga solusyon sa problema

Ang sistema ng mga hadlang at ang layunin ng pag-andar ng problema ay ipinakita sa ibaba:

Ito ay kinakailangan upang malutas ang problema gamit ang mga sumusunod na pamamaraan:

Graphical na paraan para sa paglutas ng mga problema sa LP;

Algebraic na pamamaraan para sa paglutas ng mga problema sa LP;

Simplex na paraan para sa paglutas ng mga problema sa LP;

Paraan para sa paghahanap ng tinatanggap na solusyon sa mga problema sa LP;

Solusyon sa dual LP na problema;

Paraan ng branch at bound para sa paglutas ng mga problema sa integer LP;

Pamamaraan ng Gomori para sa paglutas ng mga problema sa integer LP;

Paraan ng Balaz para sa paglutas ng mga problema sa Boolean LP.

Ihambing ang mga resulta ng solusyon iba't ibang pamamaraan gumawa ng angkop na konklusyon mula sa gawain.

2. Graphical na solusyon sa linear programming problem

Ang graphical na paraan para sa paglutas ng mga problema sa linear programming ay ginagamit sa mga kaso kung saan ang bilang ng mga hindi alam ay hindi lalampas sa tatlo. Maginhawa para sa husay na pananaliksik ng mga katangian ng mga solusyon at ginagamit kasabay ng iba pang mga pamamaraan (algebraic, branch at bound, atbp.). Ang ideya ng pamamaraan ay batay sa graphical na solusyon ng isang sistema ng mga linear na hindi pagkakapantay-pantay.

kanin. 2 Graphical na solusyon ng problema sa LP

Pinakamababang punto

Equation ng isang linya na dumadaan sa dalawang puntos na A1 at A2:

AB: (0;1); (3;3)

VS: (3;3); (4;1)

CD: (4;1); (3;0)

EA: (1;0); (0;1)

CF: (0;1); (5;2)

may mga paghihigpit:

Paglutas ng linear programming problem gamit ang algebraic simplex method

Ang aplikasyon ng isang algebraic na pamamaraan para sa paglutas ng isang problema ay nangangailangan ng isang paglalahat ng representasyon ng problema sa LP. Ang orihinal na sistema ng mga paghihigpit, na tinukoy sa anyo ng mga hindi pagkakapantay-pantay, ay na-convert sa isang karaniwang notasyon kapag ang mga paghihigpit ay tinukoy sa anyo ng mga pagkakapantay-pantay. Pagbabago ng sistema ng pagpilit sa karaniwang view kasama ang mga sumusunod na hakbang:

Ibahin ang anyo ng mga hindi pagkakapantay-pantay upang mayroong mga variable at libreng termino sa kaliwa, at 0 sa kanan, i.e. sa kaliwang bahagi ay mas malaki sa o katumbas ng zero;

Ipakilala ang mga karagdagang variable, ang bilang nito ay katumbas ng bilang ng mga hindi pagkakapantay-pantay sa sistema ng mga hadlang;

Sa pamamagitan ng pagpapakilala ng mga karagdagang paghihigpit sa hindi negatibiti ng mga idinagdag na variable, palitan ang mga palatandaan ng hindi pagkakapantay-pantay ng mahigpit na mga palatandaan ng pagkakapantay-pantay.

Kapag nilulutas ang isang problema sa LP gamit ang algebraic na pamamaraan, ang isang kundisyon ay idinagdag: ang layunin ng function ay dapat na may pinakamababa. Kung ganitong kondisyon ay hindi nasiyahan, ito ay kinakailangan upang ibahin ang anyo ang layunin function na naaayon (multiply sa -1) at lutasin ang minimization problema. Matapos mahanap ang solusyon, palitan ang mga halaga ng mga variable sa orihinal na function at kalkulahin ang halaga nito.

Ang solusyon sa isang problema gamit ang algebraic na pamamaraan ay itinuturing na pinakamainam kapag ang mga halaga ng lahat ng mga pangunahing variable ay hindi negatibo, at ang mga koepisyent ng mga libreng variable sa layunin na equation ng function ay hindi rin negatibo. Kung ang mga kundisyong ito ay hindi natutugunan, kinakailangan na baguhin ang sistema ng mga hindi pagkakapantay-pantay, na nagpapahayag ng ilang mga variable sa mga tuntunin ng iba (pagbabago ng libre at pangunahing mga variable) upang makamit ang katuparan ng mga paghihigpit sa itaas. Ang halaga ng lahat ng mga libreng variable ay itinuturing na katumbas ng zero.

Ang algebraic na paraan para sa paglutas ng mga problema sa linear programming ay isa sa pinaka mabisang pamamaraan kapag manu-mano ang paglutas ng maliliit na problema dahil hindi nangangailangan ng malaking bilang ng mga kalkulasyon ng aritmetika. Ang pagpapatupad ng makina ng pamamaraang ito ay mas kumplikado kaysa, halimbawa, para sa simplex na paraan, dahil Ang algorithm ng solusyon na gumagamit ng algebraic na pamamaraan ay sa ilang lawak ay heuristic at ang bisa ng solusyon ay higit na nakasalalay sa personal na karanasan.

Libreng variable

Lane ng St - karagdagang kit

Ang mga kondisyon na hindi negatibo ay natutugunan, samakatuwid, ang pinakamainam na solusyon ay natagpuan.

3. Paglutas ng linear programming problem gamit ang simplex table

Solusyon: Dalhin natin ang problema sa isang karaniwang form para sa solusyon gamit ang isang simplex table.

Bawasan natin ang lahat ng equation ng system sa anyo:

Bumubuo kami ng isang simplex na talahanayan:

Sa itaas na sulok ng bawat cell ng talahanayan ipinasok namin ang mga coefficient mula sa sistema ng mga equation;

Pinipili namin ang maximum na positibong elemento sa row F, maliban na ito ang magiging pangkalahatang column;

Upang mahanap ang pangkalahatang elemento, bumuo kami ng isang relasyon para sa lahat ng positibo. 3/3; 9/1;- pinakamababang ratio sa linya x3. Samakatuwid - ang pangkalahatang string at =3 - ang pangkalahatang elemento.

Nahanap namin ang =1/=1/3. Dinadala namin ito sa ibabang sulok ng cell kung saan matatagpuan ang pangkalahatang elemento;

Sa lahat ng walang laman na mas mababang sulok ng pangkalahatang linya ipinapasok namin ang produkto ng halaga sa itaas na sulok ng cell sa pamamagitan ng;

Piliin ang itaas na sulok ng pangkalahatang linya;

Sa lahat ng mas mababang sulok ng pangkalahatang hanay ipinapasok namin ang produkto ng halaga sa itaas na sulok sa pamamagitan ng - at piliin ang mga resultang halaga;

Ang natitirang mga cell ng talahanayan ay napunan bilang mga produkto ng kaukulang mga napiling elemento;

Pagkatapos ay bumuo kami ng isang bagong talahanayan kung saan ang mga pagtatalaga ng mga cell ng mga elemento ng pangkalahatang haligi at hilera ay pinapalitan (x2 at x3);

Ang mga halaga na dati ay nasa ibabang sulok ay nakasulat sa itaas na sulok ng dating pangkalahatang hilera at haligi;

Ang kabuuan ng mga halaga ng itaas at ibabang sulok ng mga cell na ito sa nakaraang talahanayan ay nakasulat sa itaas na sulok ng natitirang mga cell

4. Paglutas ng problema sa linear programming sa pamamagitan ng paghahanap ng katanggap-tanggap na solusyon

Hayaang magbigay ng isang sistema ng mga linear algebraic equation:

Maaari nating ipagpalagay na ang lahat, kung hindi, i-multiply natin ang katumbas na equation sa -1.

Ipinakilala namin ang mga auxiliary variable:

Ipinakilala din namin ang isang pantulong na function

I-minimize namin ang system sa ilalim ng mga paghihigpit (2) at kundisyon.

PANUNTUNAN PARA SA PAGHAHANAP NG PINAPAYAGANG SOLUSYON: Upang makahanap ng katanggap-tanggap na solusyon sa system (1), pinapaliit namin ang form (3) sa ilalim ng mga paghihigpit (2), ang pagkuha ng xj bilang mga libreng hindi alam, at ang pagkuha ng xj bilang mga batayan.

Kapag nilulutas ang isang problema gamit ang simplex na pamamaraan, maaaring lumitaw ang dalawang kaso:

min f=0, kung gayon ang lahat ng i ay dapat na katumbas ng zero. At ang mga resultang halaga ng xj ay bubuo ng isang katanggap-tanggap na solusyon sa system (1).

min f>0, ibig sabihin. ang orihinal na sistema ay walang magagawang solusyon.

Source system:

Ginagamit ang kondisyon ng suliranin mula sa nakaraang paksa.

Ipakilala natin ang mga karagdagang variable:

Ang isang tinatanggap na solusyon sa orihinal na problema ay natagpuan: x1 = 3, x2 = 3, F = -12. Batay sa nakuhang feasible solution, makikita natin ang pinakamainam na solusyon sa orihinal na problema gamit ang simplex method. Upang gawin ito, bubuo kami ng isang bagong simplex na talahanayan mula sa talahanayan na nakuha sa itaas, aalisin ang hilera at ang hilera na may target na function ng auxiliary na problema:

Pagsusuri sa itinayong simplex na talahanayan, nakita namin na ang pinakamainam na solusyon para sa orihinal na problema ay natagpuan na (ang mga elemento sa hilera na naaayon sa layunin ng pag-andar ay negatibo). Kaya, ang magagawang solusyon na natagpuan kapag nilulutas ang pantulong na problema ay tumutugma sa pinakamainam na solusyon sa orihinal na problema:

6. Dual linear programming problema

Ang orihinal na sistema ng mga hadlang at ang layunin ng pag-andar ng problema ay ipinapakita sa figure sa ibaba.

may mga paghihigpit:

Solusyon: Dalhin natin ang sistema ng mga paghihigpit sa karaniwang anyo:

Ang problemang dalawahan sa isang ito ay magkakaroon ng form:

Ang solusyon sa dalawahang problema ay isasagawa gamit ang isang simpleng paraan ng simplex.

Ibahin natin ang layunin ng function upang malutas ang problema sa minimization, at isulat ang sistema ng mga hadlang sa karaniwang anyo para sa paglutas gamit ang simplex na paraan.

y6 = 1 - (-2 y1 + 2y2 +y3 + y4+ y5)

y7 = 5 - (-3y1 - y2 + y3 + y4)

Ф = 0 - (3y1 + 9y2 + 3y3 + y4) ??min

Bumuo tayo ng paunang simplex na talahanayan para sa paglutas ng problema sa dalawahang LP.

Ikalawang hakbang ng simplex method

Kaya, sa ikatlong hakbang ng simplex na paraan, ang pinakamainam na solusyon sa problema sa minimization ay natagpuan sa mga sumusunod na resulta: y2 = -7 /8, y1 = -11/8, Ф = 12. Upang mahanap ang halaga ng ang layunin ng pag-andar ng dalawahang problema, pinapalitan namin ang mga nahanap na halaga ng pangunahing at libreng mga variable sa pag-andar ng pag-maximize:

Фmax = - Фmin = 3*(-11/8) + 9(-7/8) + 3*0 + 0 = -12

Dahil ang halaga ng layunin ng pag-andar ng direkta at dalawahang problema ay nagtutugma, ang solusyon sa direktang problema ay matatagpuan at katumbas ng 12.

Fmin = Фmax = -12

7. Paglutas ng problema sa integer linear programming gamit ang branch-and-bound na paraan

Ibahin natin ang orihinal na problema sa paraang hindi nasiyahan ang kundisyon ng integer kapag nalutas gamit ang mga tradisyonal na pamamaraan.

Paunang polygon ng mga solusyon sa isang problema sa integer programming.

Para sa binagong polygon ng mga solusyon na aming binuo bagong sistema mga paghihigpit.

Isulat natin ang sistema ng mga paghihigpit sa anyo ng mga pagkakapantay-pantay na lulutasin gamit ang algebraic method.

Bilang resulta ng solusyon, ang pinakamainam na plano para sa problema ay natagpuan: x1 = 9/4, x2 = 5/2, F = -41/4. Hindi natutugunan ng solusyong ito ang kundisyon ng integer na itinakda sa problema. Hatiin natin ang orihinal na solusyon polygon sa dalawang lugar, hindi kasama ang lugar 3 mula dito

Binagong solusyon sa problema polygon

Gumawa tayo ng mga bagong sistema ng mga paghihigpit para sa mga resultang lugar ng polygon ng solusyon. Ang kaliwang bahagi ay isang quadrilateral (trapezoid). Ang sistema ng mga paghihigpit para sa kaliwang rehiyon ng polygon ng solusyon ay ipinakita sa ibaba.

Sistema ng paghihigpit para sa kaliwang lugar

Ang tamang lugar ay kumakatawan sa punto C.

Ang sistema ng mga paghihigpit para sa tamang rehiyon ng desisyon ay ipinakita sa ibaba.

Ang mga bagong constraint system ay kumakatawan sa dalawang pantulong na problema na kailangang lutasin nang hiwalay sa isa't isa. Lutasin natin ang isang problema sa integer programming para sa kaliwang rehiyon ng polygon ng solusyon.

Bilang resulta ng solusyon, ang pinakamainam na plano para sa problema ay natagpuan: x1 = 3, x2 = 3, F = -12. Ang planong ito ay natutugunan ang kundisyon na ang mga variable sa problema ay integer at maaaring tanggapin bilang pinakamainam na reference plan para sa orihinal na integer linear programming problem. Walang punto sa paglutas para sa tamang rehiyon ng solusyon. Ang figure sa ibaba ay nagpapakita ng pag-unlad ng paglutas ng isang integer linear programming na problema sa anyo ng isang puno.

Pag-unlad sa paglutas ng isang integer linear programming problem gamit ang Gomori method.

Sa maraming praktikal na aplikasyon, isang problema sa integer programming kung saan ang isang sistema ng mga linear na hindi pagkakapantay-pantay at isang linear na anyo ay may malaking interes.

Kinakailangang maghanap ng integer na solusyon sa system (1), na nagpapaliit sa layuning function F, at lahat ng coefficient ay mga integer.

Ang isa sa mga pamamaraan para sa paglutas ng problema sa integer programming ay iminungkahi ni Gomori. Ang ideya ng pamamaraan ay ang paggamit ng tuluy-tuloy na mga pamamaraan ng linear programming, sa partikular, ang simplex na pamamaraan.

1) Gamit ang simplex na paraan, ang solusyon sa problema (1), (2) ay tinutukoy, kung saan ang pangangailangan para sa isang integer na solusyon ay inalis; kung ang solusyon ay lumabas na integer, kung gayon ang nais na solusyon sa problema ng integer ay matatagpuan din;

2) Kung hindi, kung ang ilang coordinate ay hindi isang integer, ang nagreresultang solusyon sa problema ay sinusuri para sa posibilidad ng pagkakaroon ng isang integer na solusyon (ang pagkakaroon ng mga integer na puntos sa isang tinatanggap na polyhedron):

kung sa anumang hilera na may isang fractional na libreng termino, ang lahat ng iba pang mga coefficient ay naging mga integer, kung gayon walang mga integer o puntos sa tinatanggap na polyhedron at ang problema sa integer programming ay walang solusyon;

Kung hindi man, ang isang karagdagang linear na hadlang ay ipinakilala, na pumutol sa isang bahagi ng tinatanggap na polyhedron na hindi naaasa para sa paghahanap ng solusyon sa problema sa integer programming;

3) Upang makabuo ng karagdagang linear constraint, piliin ang lth row na may fractional free term at isulat ang karagdagang constraint

kung saan at ayon sa pagkakabanggit ay mga fractional na bahagi ng mga coefficient at libre

miyembro. Ipakilala natin ang isang auxiliary variable sa pagpilit (3):

Tukuyin natin ang mga coefficient at kasama sa pagpilit (4):

kung saan at ang pinakamalapit na integer mula sa ibaba para sa at ayon sa pagkakabanggit.

Pinatunayan ni Gomori na ang isang tiyak na bilang ng mga katulad na hakbang ay humahantong sa isang linear na problema sa programming na ang solusyon ay integer at, samakatuwid, ang nais.

Solusyon: Dalhin natin ang sistema ng mga linear na hadlang at ang layunin ng function sa canonical form:

Tukuyin natin ang pinakamainam na solusyon sa sistema ng mga linear na hadlang, pansamantalang itinatapon ang kundisyon ng integer. Ginagamit namin ang simplex na paraan para dito. Sa ibaba, sunud-sunod sa mga talahanayan, ang orihinal na solusyon ng problema ay ipinakita, at ang mga pagbabago sa orihinal na talahanayan ay ibinigay upang makuha ang pinakamainam na solusyon sa problema:

Paglutas ng mga problema sa Boolean LP gamit ang paraan ng Balazs.

Lumikha ng iyong sariling bersyon para sa isang problema sa integer linear programming na may mga Boolean variable, na isinasaalang-alang ang mga sumusunod na patakaran: ang problema ay gumagamit ng hindi bababa sa 5 variable, hindi bababa sa 4 na mga hadlang, ang mga coefficient ng mga hadlang at ang layunin ng function ay pinipili nang arbitraryo, ngunit sa ganoong isang paraan na ang sistema ng mga hadlang ay magkatugma. Ang gawain ay upang malutas ang LCLP na may Boolean variable gamit ang Balazs algorithm at matukoy ang pagbawas sa pagiging kumplikado ng mga kalkulasyon kaugnay sa paglutas ng problema gamit ang kumpletong paraan ng paghahanap.

Pagpapatupad ng mga paghihigpit

halaga ng F

Limitasyon sa pag-filter:

Pagpapasiya ng pagbawas ng pagsusumikap sa computational

Ang solusyon sa problema gamit ang kumpletong paraan ng paghahanap ay 6*25=192 kalkuladong expression. Ang solusyon sa problema gamit ang paraan ng Balazs ay 3*6+(25-3)=47 mga kalkuladong expression. Ang kabuuang pagbawas sa pagiging kumplikado ng mga kalkulasyon na may kaugnayan sa paglutas ng problema gamit ang kumpletong paraan ng paghahanap ay:

Konklusyon

Ang proseso ng pagdidisenyo ng mga sistema ng impormasyon na nagpapatupad ng bagong teknolohiya ng impormasyon ay patuloy na pinagbubuti. Ang focus ng mga system engineer ay lalong nasa mga kumplikadong system, na nagpapahirap sa paggamit ng mga pisikal na modelo at pinapataas ang kahalagahan ng mga mathematical na modelo at machine simulation ng mga system. Ang machine simulation ay naging isang epektibong tool para sa pag-aaral at pagdidisenyo ng mga kumplikadong sistema. Ang kaugnayan ng mga modelo ng matematika ay patuloy na tumataas dahil sa kanilang flexibility, kasapatan sa mga tunay na proseso, at mababang halaga ng pagpapatupad batay sa mga modernong PC. Parami nang parami ang mga pagkakataon na ibinibigay sa gumagamit, ibig sabihin, isang espesyalista sa mga sistema ng pagmomodelo gamit ang teknolohiya ng computer. Ang paggamit ng pagmomodelo ay lalong epektibo sa mga unang yugto ng pagdidisenyo ng mga automated system, kapag ang halaga ng mga maling desisyon ay pinakamahalaga.

Ang mga modernong tool sa pag-compute ay naging posible upang makabuluhang taasan ang pagiging kumplikado ng mga modelo na ginagamit kapag nag-aaral ng mga sistema naging posible na bumuo ng pinagsamang, analytical at simulation na mga modelo na isinasaalang-alang ang buong iba't ibang mga kadahilanan na nangyayari sa mga tunay na sistema, ibig sabihin, ang mga modelo; paggamit ng mga modelo na mas sapat sa mga phenomena na pinag-aaralan.

Panitikan:

1. Lyashchenko I.N. Linear at nonlinear programming / I.N. Lyashchenko, E.A Karagodova, N.V. Chernikova, N.Z. - K.: "Higher School", 1975, 372 p.

2. Mga tagubilin sa pamamaraan para sa pagkumpleto ng isang proyekto ng kurso sa disiplina na "Applied Mathematics" para sa mga mag-aaral ng specialty na "Computer Systems and Networks" ng full-time at part-time na mga anyo ng pag-aaral / Compiled by: I.A. Balakireva, A.V. SevNTU Publishing House , 2003. - 15 p.

3. Mga patnubay para sa pag-aaral ng disiplina na "Applied Mathematics", seksyong "Mga paraan ng pandaigdigang paghahanap at one-dimensional minimization" / Comp. A.V. Skatkov, I.A. Balakireva, L.A. Litvinova - Sevastopol: SevGTU Publishing House, 2000. - 31 p.

4. Mga patnubay para sa pag-aaral ng disiplina na "Applied Mathematics" para sa mga mag-aaral ng specialty na "Computer Systems and Networks" Seksyon "Paglutas ng mga problema sa integer linear programming" para sa full-time at part-time na edukasyon / Compiled by: I.A. Balakireva, A.V : Publishing House ng SevNTU, 2000. - 13 p.

5. Akulich I.L. Mathematical programming sa mga halimbawa at problema:

6. Teksbuk allowance para sa mga mag-aaral sa ekonomiya. espesyalista. unibersidad.-M.: Mas mataas. paaralan, 1986.- 319 p., may sakit.

7. Andronov S.A. Pinakamainam na paraan ng disenyo: Teksto ng mga lektura / SPbSUAP. St. Petersburg, 2001. 169 p.: may sakit.

Mga katulad na dokumento

    Algorithm para sa paglutas ng mga problema sa linear programming gamit ang simplex na pamamaraan. Konstruksyon ng isang mathematical model ng isang linear programming problem. Paglutas ng problema sa linear programming sa Excel. Paghahanap ng tubo at pinakamainam na plano sa produksyon.

    course work, idinagdag noong 03/21/2012

    Graphic na paglutas ng problema. Pag-drawing ng isang mathematical model. Pagtukoy sa pinakamataas na halaga ng layunin ng function. Solusyon sa pamamagitan ng simplex method na may artipisyal na batayan ng canonical linear programming problem. Sinusuri ang pinakamainam ng solusyon.

    pagsubok, idinagdag noong 04/05/2016

    Teoretikal na batayan ng linear programming. Mga problema sa linear programming, mga pamamaraan ng solusyon. Pagsusuri ng pinakamainam na solusyon. Solusyon ng isang single-index linear programming problem. Pahayag ng problema at data entry. Mga yugto ng pagbuo ng modelo at solusyon.

    course work, idinagdag noong 12/09/2008

    Konstruksyon ng isang mathematical model. Pagpili, pagbibigay-katwiran at paglalarawan ng pamamaraan para sa paglutas ng isang direktang linear na problema sa programming gamit ang simplex na paraan, gamit ang isang simplex table. Compilation at solusyon ng isang dual problema. Pagsusuri ng pagiging sensitibo ng modelo.

    course work, idinagdag 10/31/2014

    Ang pagtatayo ng isang modelo ng matematika upang makakuha ng pinakamataas na kita para sa negosyo, graphical na solusyon ng problema. Paglutas ng problema gamit ang SOLVER add-on. Pagsusuri ng mga pagbabago sa mga reserbang mapagkukunan. Pagpapasiya ng mga limitasyon para sa pagbabago ng mga coefficient ng layunin ng function.

    course work, idinagdag noong 12/17/2014

    Pagprograma ng matematika. Linear programming. Mga problema sa linear programming. Graphical na pamamaraan para sa paglutas ng mga problema sa linear programming. Economic formulation ng linear programming problem. Konstruksyon ng isang mathematical model.

    course work, idinagdag noong 10/13/2008

    Paglutas ng isang linear na problema sa programming sa pamamagitan ng graphical na pamamaraan, pagsuri nito sa MS Excel. Pagsusuri ng panloob na istraktura ng paglutas ng isang problema sa isang programa. Pag-optimize ng plano ng produksyon. Paglutas ng problema gamit ang simplex method. Multichannel queuing system.

    pagsubok, idinagdag noong 05/02/2012

    Paglutas ng isang linear na problema sa programming gamit ang simplex na pamamaraan: pahayag ng problema, pagbuo ng isang modelong pang-ekonomiya at matematika. Paglutas ng problema sa transportasyon gamit ang potensyal na paraan: pagbuo ng paunang reference plan, pagtukoy sa pinakamainam na halaga nito.

    pagsubok, idinagdag noong 04/11/2012

    Pahayag ng problema sa nonlinear programming. Pagpapasiya ng mga nakatigil na puntos at ang kanilang uri. Konstruksyon ng mga linya ng antas, tatlong-dimensional na graph ng layunin ng function at mga hadlang. Graphic at analytical na solusyon ng problema. Manual ng gumagamit at algorithm diagram.

    course work, idinagdag noong 12/17/2012

    Pagsusuri ng solusyon sa isang linear programming problem. Simplex method gamit ang simplex tables. Pagmomodelo at paglutas ng mga problema sa LP sa isang computer. Pang-ekonomiyang interpretasyon ng pinakamainam na solusyon sa problema. Ang pagbabalangkas ng matematika ng problema sa transportasyon.

Hatiin ang ikatlong hilera ng pangunahing elemento na katumbas ng 5, makuha namin ang ikatlong hilera ng bagong talahanayan.

Ang mga pangunahing column ay tumutugma sa mga column ng unit.

Pagkalkula ng iba pang mga halaga ng talahanayan:

“BP – Pangunahing Plano”:

; ;

"x1": ; ;

"x5": ; .

Ang mga halaga ng index string ay hindi negatibo, samakatuwid ay nakukuha namin ang pinakamainam na solusyon: , ; .

Sagot: ang pinakamataas na kita mula sa pagbebenta ng mga produktong gawa, katumbas ng 160/3 na mga yunit, ay tinitiyak ng paggawa ng mga produkto lamang ng pangalawang uri sa halagang 80/9 na mga yunit.


Gawain Blg. 2

Isang nonlinear programming problem ang ibinibigay. Hanapin ang maximum at minimum ng layunin ng function gamit ang graphic-analytical method. Buuin ang Lagrange function at ipakita na sa mga extremum point sapat na mga kondisyon para sa minimum (maximum) ay nasiyahan.

kasi ang huling digit ng cipher ay 8, pagkatapos ay A=2; B=5.

kasi ang penultimate digit ng cipher ay 1, pagkatapos ay dapat mong piliin ang gawain No. 1.

Solusyon:

1) Iguhit natin ang lugar na tinukoy ng sistema ng hindi pagkakapantay-pantay.


Ang lugar na ito ay tatsulok na ABC na may vertex coordinates: A(0; 2); B(4; 6) at C(16/3; 14/3).

Ang mga antas ng layunin ng function ay mga bilog na may gitna sa punto (2; 5). Ang mga parisukat ng radii ay ang mga halaga ng layunin ng function. Pagkatapos ay ipinapakita ng figure na ang pinakamababang halaga ng layunin ng function ay nakamit sa punto H, ang maximum - alinman sa punto A o sa punto C.

Ang halaga ng layunin ng function sa punto A: ;

Ang halaga ng layunin ng function sa punto C: ;

Nangangahulugan ito na ang pinakamataas na halaga ng function ay nakakamit sa punto A(0; 2) at katumbas ng 13.

Hanapin natin ang mga coordinate ng point H.

Upang gawin ito, isaalang-alang ang system:

ó

ó

Ang isang linya ay padaplis sa isang bilog kung ang equation ay may natatanging solusyon. Ang isang quadratic equation ay may natatanging solusyon kung ang discriminant ay 0.


Pagkatapos ; ; - pinakamababang halaga ng function.

2) Buuin natin ang Lagrange function upang mahanap ang pinakamababang solusyon:

Sa x 1 =2.5; x 2 =4.5 makuha namin:

ó

Ang sistema ay may solusyon sa , i.e. sapat na mga kondisyon para sa extremum ay nasiyahan.

Buuin natin ang Lagrange function upang mahanap ang maximum na solusyon:

Sapat na mga kondisyon para sa isang extremum:

Sa x 1 =0; x 2 =2 makuha namin:

ó ó

Ang sistema ay mayroon ding solusyon, i.e. sapat na mga kondisyon para sa extremum ay nasiyahan.

Sagot: ang pinakamababa ng layunin ng function ay nakakamit kapag ; ; ang maximum ng layunin function ay nakakamit sa ; .


Gawain Blg. 3

Dalawang negosyo ang inilalaan ng pondo sa halaga d mga yunit. Kapag naglalaan ng unang negosyo para sa isang taon x mga yunit ng pondo na nagbibigay ng kita k 1 x mga yunit, at kapag inilaan sa pangalawang negosyo y mga yunit ng pondo, nagbibigay ito ng kita k 1 y mga yunit. Ang balanse ng mga pondo sa katapusan ng taon para sa unang negosyo ay katumbas ng nx, at para sa pangalawa aking. Paano ipamahagi ang lahat ng mga pondo sa loob ng 4 na taon upang ang kabuuang kita ay pinakamalaki? Lutasin ang problema gamit ang dynamic programming method.

i=8, k=1.

A=2200; k 1 =6; k 2 =1; n=0.2; m=0.5.

Solusyon:

Ang buong panahon ng 4 na taon ay nahahati sa 4 na yugto, ang bawat isa ay katumbas ng isang taon. Bilangin natin ang mga yugto simula sa unang taon. Hayaang ang X k at Y k ang mga pondong inilaan ayon sa pagkakabanggit sa mga negosyo A at B sa ika-kth na yugto. Pagkatapos ang kabuuan X k + Y k =а k ay ang kabuuang halaga ng mga pondong ginamit sa k – ang yugtong iyon at ang natitira mula sa nakaraang yugto k – 1. sa unang yugto, lahat ng inilalaang pondo ay ginagamit at isang 1 = 2200 mga yunit. ang kita na matatanggap sa k – sa yugtong iyon, na may alokasyon ng X k at Y k unit ay magiging 6X k + 1Y k. hayaan ang pinakamataas na kita na natanggap sa mga huling yugto simula sa k – ang yugtong iyon ay f k (a k) na mga yunit. Isulat natin ang functional Bellman equation na nagpapahayag ng prinsipyo ng optimality: anuman ang paunang estado at ang paunang solusyon, ang kasunod na solusyon ay dapat na pinakamainam na may paggalang sa estado na nakuha bilang resulta ng paunang estado:

Para sa bawat yugto kailangan mong piliin ang halaga X k, at ang halaga Yk=ak- Xk. Isinasaalang-alang ito, makikita natin ang kita sa kth stage:

Ang Bellman functional equation ay magiging:

Isaalang-alang natin ang lahat ng mga yugto, simula sa huli.

(dahil ang maximum ng linear function ay nakakamit sa dulo ng segment sa x 4 = a 4);



Bago sa site

>

Pinaka sikat