Näiteid operatsioonianalüüsist

Remove["Global`*"]

<< Graphics`InequalityGraphics`;
<< Graphics`ImplicitPlot`;

400

Näide 1.

Näide: Tisleritöökoda teeb kirjutuslaudu ja puhvetikappe. Puhvetikapi valmistamiseks kulub 0,3 m3 puitu, 0,8 m2 klaasi ja 6 tundi tisleri tööaega. Kirjutuslaua valmistamiseks kulub 0,25 m3 puitu ja 10 tundi tisleri tööaega. Töökojas on ühe kuu varu puitu — 30 m3 ja ühe kuu varu klaasi — 60 m2. Selles kuus võib arvestada 900 tisleritöö tunniga. Ühe puhvetikapi eest teenib tisleritöökoda 300$, ühe kirjutuslaua eest 400$. Kui palju puhvetikappe ja kirjutuslaudu tuleks valmistada, et töökoja tulud oleksid maksimaalsed?

gr1 = 
        InequalityPlot[ {4  x + 20  y ≤ 1400, 
            1.2  x ≤ 90, 6  x + 10  y ≤ 900},  {x,  
            0, 160},  {y,  0, 110}, 
          Fills -> {RGBColor[1,  0.8,  0.6]},  
          Curves -> None];

gr2 = 
      ImplicitPlot[ {4  x + 20  y == 1400, 1.2  x == 90, 
          6  x + 10  y == 900},  {x,  0, 160},  {y,  0, 110}]

gr3 = 
      ImplicitPlot[ {10  x + 30  y == 500, 
          10  x + 30  y == 1000, 10  x + 30  y == 1500, 
          10  x + 30  y == 2000},  {x,  0, 160},  {y,  0, 120}, 
        PlotStyle -> RGBColor[0, 0, 1]]

Show[gr1, gr2, gr3]

ConstrainedMax[
      10  x + 30  y, {4  x + 20  y ≤ 1400, 1.2  x ≤ 90, 
        6  x + 10  y ≤ 900}, {x, y}]

gr4 = Graphics[{PointSize[0.02], Hue[0], Point[{50, 60}]}]

gr5 = 
      ImplicitPlot[ {10  x + 30  y == 2300},  {x,  0, 160},  {y,  
          0, 110}, PlotStyle -> RGBColor[1, 0, 0]]

Show[gr1, gr2, gr3, gr4, gr5]

Näide 2.

Väike keemiatehas „Smell” toodab kahte liiki värve: sisetöödeks (S) ja välistöödeks (V). Mõlemad värvid segatakse kokku kahest lähteainest A ja B. Ööpäevas võib tuua lattu 7 t komponenti A ja 8 t komponenti B. Sisetööde värv koosneb ühest osast A-st ja kahest osast B-st. Välistööde värv koosneb kahest osast A-st ja ühest osast B-st. Tonni sisetööde värvi müügi pealt saab tehas 2000$ kasumit. Tonn välistööde värvi annab 4000$ kasumit. On teada, et välistööde värvi ei osteta kunagi sisetööde värvist päevas üle 2 tonni rohkem. Kui palju tuleks toota sisetööde värvi ja kui palju välistööde värvi, et kogukasum oleks suurim?

gr1 = 
        InequalityPlot[ {x + 2  y ≤ 7, 
            2  x + y ≤ 8, -x + y ≤ 2},  {x,  0, 
            8},  {y,  0, 8}, Fills -> {RGBColor[1,  0.8,  0.6]},  
          Curves -> None];

gr2 = 
      ImplicitPlot[ {x + 2  y == 7, 2  x + y == 8, -x + y == 2},  {x,  
          0, 8},  {y,  0, 8}]

gr3 = 
      ImplicitPlot[ {2000  x + 4000  y == 6000, 
          2000  x + 4000  y == 9000, 2000  x + 4000  y == 12000, 
          2000  x + 4000  y == 15000},  {x,  0, 8},  {y,  0, 8}, 
        PlotStyle -> RGBColor[0, 0, 1]]

Show[gr1, gr2, gr3]

ConstrainedMax[
      2000  x + 4000  y, {x + 2  y ≤ 7, 
        2  x + y ≤ 8, -x + y ≤ 2}, {x, 
        y}]

gr4 = Graphics[{PointSize[0.02], Hue[0], Point[{1, 3}]}]

gr5 = 
      ImplicitPlot[ {2000  x + 4000  y == 14000},  {x,  0, 
          8},  {y,  0, 8}, PlotStyle -> RGBColor[1, 0, 0]]

Show[gr1, gr2, gr3, gr4, gr5]

Näide 3.

Näide: Broileritibu vajab iga päev vähemalt 15 ühikut vitamiini B1 ja vähemalt 15 ühikut vitamiini B2. Ta saab neid segudest H ja K. Segu H 1 g sisaldab 1 ühiku B1, 5 ühikut B2 ja maksab 1 sent. Segu K 1 g sisaldab 5 ühikut B1, 1 ühiku B2 ja maksab 3 senti. Koostame päevase toiduratsiooni segudest H ja K nii, et broileri vitamiinivajadus oleks rahuldatud ja kulutused oleksid minimaalsed.

gr1 = 
        InequalityPlot[ {x + 5  y ≥ 15, 
            5  x + y ≥ 15},  {x,  0, 16},  {y,  0, 16}, 
          Fills -> {RGBColor[1,  0.8,  0.6]},  
          Curves -> None];

gr2 = 
      ImplicitPlot[ {x + 5  y == 15, 5  x + y == 15},  {x,  0, 
          16},  {y,  0, 16}]

gr3 = 
      ImplicitPlot[ {x + 3  y == 3, x + 3  y == 6, 
          x + 3  y == 9, x + 3  y == 12, 
          x + 3  y == 15},  {x,  0, 16},  {y,  0, 15}, 
        PlotStyle -> RGBColor[0, 0, 1]]

Show[gr1, gr2, gr3]

ConstrainedMin[
      x + 3 y, {x + 5 y ≥ 15, 
        5 x + y ≥ 15}, {x, y}]

gr4 = Graphics[{PointSize[0.02], Hue[0], Point[{2.5, 2.5}]}]

gr5 = 
      ImplicitPlot[ {x + 3  y == 10},  {x,  0, 16},  {y,  0, 16}, 
        PlotStyle -> RGBColor[1, 0, 0]]

Show[gr1, gr2, gr3, gr4, gr5]

Näide 4.

Näide: Tammesalu ja Viljaanni jahuveskid jahvatavad 250 ja 350 tonni jahu kuus. Neist veskitest veetakse jahu kolme leivatehasesse. Rukkivere tehas vajab 150 tonni, Ahjusaare tehas 240 tonni ja Leivamäe tehas 210 tonni jahu kuus. Kuidas korraldada jahu vedu veskitest nii, et kõik tehased saaksid oma koguse jahu kätte ja veokulud oleksid minimaalsed? Kaugused veskite ja tehaste vahel on järgnevas tabelis olevate arvude kordsed.

\(TableForm[{{4, 3, 5}, {5, 6, 4}}, 
      TableHeadings -> {{"Tammesalu", "Viljaanni"}, {"Rukkiveere", "Ahjusaare", "Leivamäe"}}]\)

gr1 = 
        InequalityPlot[ {x ≥ 0, y ≥ 0, 
            250 - x - y ≥ 0, 150 - x ≥ 0, 
            240 - y ≥ 0, x + y - 40 ≥ 0},  {x,  
            0, 160},  {y,  0, 250}, 
          Fills -> {RGBColor[1,  0.8,  0.6]},  
          Curves -> None];

gr2 = 
      ImplicitPlot[ {x == 0, y == 0, 250 - x - y == 0, 150 - x == 0, 
          240 - y == 0, x + y - 40 == 0},  {x,  0, 160},  {y,  0, 
          250}]

gr3 = 
      ImplicitPlot[ {-2 x - 4  y + 3280 == 
            2200, -2 x - 4  y + 3280 == 
            2400, -2 x - 4  y + 3280 == 
            2600, -2 x - 4  y + 3280 == 
            2800, -2 x - 4  y + 3280 == 3000},  {x,  0, 
          160},  {y,  0, 250}, 
        PlotStyle -> RGBColor[0, 0, 1]]

Show[gr1, gr2, gr3]

ConstrainedMin[-2 x - 4  y + 3280, {x ≥ 0, 
        y ≥ 0, 250 - x - y ≥ 0, 
        150 - x ≥ 0, 240 - y ≥ 0, 
        x + y - 40 ≥ 0}, {x, y}]

gr4 = Graphics[{PointSize[0.02], Hue[0], Point[{10, 240}]}]

gr5 = 
      ImplicitPlot[ {-2 x - 4  y + 3280 == 2300},  {x,  0, 
          160},  {y,  0, 250}, 
        PlotStyle -> RGBColor[1, 0, 0]]

Show[gr1, gr2, gr3, gr4, gr5]