10. přednáška (slovní úlohy vedoucí na extrémy - pokračování)

Podobné dokumenty
9. přednáška (extrémy, slovní úlohy vedoucí na extrémy)

Hledáme lokální extrémy funkce vzhledem k množině, která je popsána jednou či několika rovnicemi, vazebními podmínkami. Pokud jsou podmínky

Extrémy funkce dvou proměnných

1 Extrémy funkcí - slovní úlohy

Extremální úlohy v geometrii

Příklady modelů lineárního programování

Definice globální minimum (absolutní minimum) v bodě A D f, jestliže X D f

Globální extrémy. c ÚM FSI VUT v Brně. 10. ledna 2008

Příklady pro předmět Aplikovaná matematika (AMA) část 1

Kvadratickou funkcí se nazývá každá funkce, která je daná rovnicí. Definičním oborem kvadratické funkce je množina reálných čísel.

Obsah. Metodický list Metodický list Metodický list Metodický list

Diferenciální počet - II. část (Taylorův polynom, L Hospitalovo pravidlo, extrémy

Cvičné texty ke státní maturitě z matematiky

Derivace a monotónnost funkce

5. Lokální, vázané a globální extrémy

1 Funkce dvou a tří proměnných

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

Derivace. 1. Užitím definice derivace vypočtěte derivaci funkce v daném bodě x 0.

Řešení 1b Máme najít body, v nichž má funkce (, ) vázané extrémy, případně vázané lokální extrémy s podmínkou (, )=0, je-li: (, )= +,

Zimní semestr akademického roku 2014/ prosince 2014

12. Lineární programování

Průvodce studiem. do bodu B se snažíme najít nejkratší cestu. Ve firmách je snaha minimalizovat

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

Příklady na konvexnost a inflexní body. Funkce f (x) = x 3 9x. Derivace jsou f (x) = 3x 2 9 a f (x) = 6x. Funkce f je konvexní na intervalu (0, )

Cvičné texty ke státní maturitě z matematiky

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010

LOKÁLNÍ A GLOBÁLNÍ EXTRÉMY FUNKCÍ A JEJICH UŽITÍ

Numerické metody a programování. Lekce 8

Obecná rovnice kvadratické funkce : y = ax 2 + bx + c Pokud není uvedeno jinak, tak definičním oborem řešených funkcí je množina reálných čísel.

FAKULTA STAVEBNÍ VUT V BRNĚ PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK

CVIČNÝ TEST 22. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

Matematika pro informatiky

8.4. Shrnutí ke kapitolám 7 a 8

verze 1.3 x j (a) g k 2. Platí-li vztahy v předchozím bodu a mají-li f, g 1,..., g s v a diferenciál K = f + j=1

Funkce více proměnných. April 29, 2016

Diferenciální počet funkcí více proměnných

4EK213 LINEÁRNÍ MODELY

CVIČNÝ TEST 13. OBSAH I. Cvičný test 2. Mgr. Zdeňka Strnadová. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Stručný přehled učiva

Funkce v ıce promˇ enn ych Extr emy Pˇredn aˇska p at a 12.bˇrezna 2018

Matematika I (KX001) Užití derivace v geometrii, ve fyzice 3. října f (x 0 ) (x x 0) Je-li f (x 0 ) = 0, tečna: x = 3, normála: y = 0

APLIKACE. Poznámky Otázky

Konvexní množiny Formulace úloh lineárního programování. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

x 2(A), x y (A) y x (A), 2 f

EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH

Pavlína Matysová. 5. listopadu 2018

Diferenciální počet funkcí jedné reálné proměnné LOKÁLNÍ A GLOBÁLNÍ EXTRÉMY FUNKCÍ JEDNÉ REÁLNÉ PROMĚNNÉ LOKÁLNÍ EXTRÉMY

14. Monotonnost, lokální extrémy, globální extrémy a asymptoty funkce

4EK213 LINEÁRNÍ MODELY

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

9. Je-li cos 2x = 0,5, x 0, π, pak tgx = a) 3. b) 1. c) neexistuje d) a) x ( 4, 4) b) x = 4 c) x R d) x < 4. e) 3 3 b

Příklad 1. a) lim. b) lim. c) lim. d) lim. e) lim. f) lim. g) lim. h) lim. i) lim. j) lim. k) lim. l) lim ŘEŠENÉ PŘÍKLADY Z M1 ČÁST 7

Obecná úloha lineárního programování. Úloha LP a konvexní množiny Grafická metoda. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Matematika I A ukázkový test 1 pro 2011/2012. x + y + 3z = 1 (2a 1)x + (a + 1)y + z = 1 a

. (x + 1) 2 rostoucí v intervalech (, 1) a. ) a ( 2, + ) ; rostoucí v intervalu ( 7, 2) ; rostoucí v intervalu,

Diferenciální počet 1 1. f(x) = ln arcsin 1 + x 1 x. 1 x 1 a x 1 0. f(x) = (cos x) cosh x + 3x. x 0 je derivace funkce f(x) v bodě x0.

Matematika 5 FSV UK, ZS Miroslav Zelený

CVIČNÝ TEST 40. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

8.1. Určete všechny lokální extrémy funkce f(x, y) = x 2 + arctg 2 x + y 3 + y, x, y R.

15. Soustava lineárních nerovnic - optimalizace

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

Digitální učební materiál

Funkce. RNDR. Yvetta Bartáková. Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou

Petr Hasil. Prvákoviny c Petr Hasil (MUNI) Úvod do infinitezimálního počtu Prvákoviny / 57

8. Slovní úlohy na extrémy

4EK311 Operační výzkum. 2. Lineární programování

Internetová matematická olympiáda listopadu 2008

Kapitola 5. Seznámíme se ze základními vlastnostmi elipsy, hyperboly a paraboly, které

PŘÍKLADY K MATEMATICE 2

Petr Hasil

Ekonomická formulace. Matematický model

1. července 2010

Limita a spojitost funkce a zobrazení jedné reálné proměnné

Přijímací zkouška na navazující magisterské studium 2015

Přijímací zkouška na navazující magisterské studium 2014

Kapitola 10: Diferenciální rovnice 1/14

CVIČNÝ TEST 10. OBSAH I. Cvičný test 2. Mgr. Renáta Koubková. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

Matematická analýza 1, příklady na procvičení (Josef Tkadlec, )

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

b) Maximální velikost zrychlení automobilu, nemají-li kola prokluzovat, je a = f g. Automobil se bude rozjíždět po dobu t = v 0 fg = mfgv 0

Matematika I A ukázkový test 1 pro 2014/2015

WikiSkriptum Ing. Radek Fučík, Ph.D. verze: 4. ledna 2017

Přijímací zkouška na navazující magisterské studium 2015

Definice Tečna paraboly je přímka, která má s parabolou jediný společný bod,

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.

Funkce - pro třídu 1EB

( ) ( ) ( ) ( ) ( ) ( ) Užití derivací. x, x a, b : x x f x f x MATA P12. Funkce rostoucí a klesající: Definice rostoucí a klesající funkce

10. cvičení - LS 2017

11. cvičení z Matematické analýzy 2

Numerické metody optimalizace - úvod

10. cvičení z Matematické analýzy 2

INTEGRÁLY S PARAMETREM

Řešíme tedy soustavu dvou rovnic o dvou neznámých. 2a + b = 3, 6a + b = 27,

Parametrické programování

Napište rovnici tečné roviny ke grafu funkce f(x, y) = xy, která je kolmá na přímku. x = y + 2 = 1 z

Ukázka závěrečného testu

Aplikace derivace a průběh funkce

Přijímací zkouška na MFF UK v Praze

Transkript:

10. přednáška (slovní úlohy vedoucí na extrémy - pokračování) Extremální úlohy Krabice Ze čtvercového kartónu o straně 60 cm odřízneme v rozích 4 menší čtverce. Ze zbytku poskládáme krabici bez víka (viz obrázek). Jak velké čtverce musíme v rozích odstřihnout, abychom dostali krabici o maximálním objemu. Jak velký bude onen maximální objem? Označme x délku stran čtverců, které v rozích odřízneme. Pak objem krabice je popsán funkcí V( x ) = ( 60 x ) x. Proměnná x přitom může probíhat interval < 0, 30. Úlohu jsme tedy převedli na výpočet globálního maxima dané funkce na daném intervalu. V:=x-(60-*x)*x; V := x ( 60 x) x maximize(v(x),x=0..30,location); 16000, {[ { x = 10}, 16000 ] } Vidíme, že musíme v rozích odstřihnout čtverce o straně 10 cm. Maximální objem krabice pak bude 16000 krychlových centimetrů, tj. 16 litrů. Poznámka:

Kdybychom úlohu chtěli zobecnit a uvažovat čtvercový kartón o straně a, funkce V by měla předpis V( x ) = ( a x ) x a proměnná x by mohla být v intervalu < 0, a. Funkce V je na tomto (uzavřeném) intervalu spojitá, a proto (podle Weierstrassovy věty) globální extrémy existují. V:=x-(a-*x)*x; V := x ( a x) x maximize(v(x),x=0..a/,location); Zde už má Maple zase problémy. extrema(v(x),{},x,'bod'); bod; Máme jediný stacionární bod x = maximize ( a x ) a x, x = 0..,, location { } { max 0, a3, min 0, a3 } 7 7 a a {{ x = }, { x = } } 6 a 6 ležící uvnitř intervalu < 0, a. Dále jsou a samozřejmě "podezřelé" krajní body, tzn. x = 0 a x =. Nyní už jen musíme porovnat funkční hodnoty v podezřelých bodech. V(0); V(a/); V(a/6); 0 0 a 3 7 Vzhledem k tomu, že a byl kladný parametr, globální maximum nastává v bodě a 6. Musíme tedy v rozích odstřihnout menší čtverce o straně a, kde a byla strana 6 původního čtverce.

Válec Ze všech válců o daném objemu V najděte ten, který má minimální povrch. Jaké budou rozměry hledaného válce? Poloměr válce si označme r a výšku v. V=Pi*r*v; v:=solve(%,v); V = π r v V v := π r S:=unapply(*Pi*r*Pi*r*v,r); S := r π r V r Dostali jsme funkci, kterou je třeba minimalizovat. Zde hledáme globální minimum funkce S na intervalu ( 0, nekonečno). Stacionární bod(y) funkce S: extrema(s(r),{},r,'stac'); stac; Derivace funkce S: { 3 π V ( / 3 ) } 4 ( V π ) {{ r = } } π D(S)(r); 4 π r V r Vidíme, že nalevo od stacionárního bodu je derivace funkce S záporná, zatímco napravo je kladná, tzn., že ve stacionárním bodě nastává lokální, ale i globální minimum. assign(stac); r:=simplify(r);

v:=simplify(v); testeq(v=*r); r := v := ( / 3 ) V π ( / 3 ) V π true Optimální válec má tedy výšku rovnou průměru. Parabola Na parabole p( x ) = x najděte bod, který je nejblíže bodu ( 1, 0). Obecný bod na parabole je ( x, x ), kde x může být libovolné reálné číslo. Vzdálenost takového bodu od bodu ( 1, 0) je: vzdalenost:=sqrt((x-1)(x-0)); vzdalenost := x x 1 x 4 reseni:=minimize(vzdalenost,location); ( ( 54 6 87 ) ( / 3 ) 6 ) ( 54 6 87 ) ( / 3 ) 6 (( 54 6 87 ) ( / reseni := 1 36 ( 54 6 87 ) ( / 3 ) 3 ( 54 6 87 ) 196 ( 54 6 8 ( 54 6 87 ) ( / 3 ) 6 (( 54 6 87 ) ( / 3 ) 6 ) ( 54 6 87, x =, 1 6 ( 54 6 87 ) 36 ( 54 6 87 ) ( / 3 ) 3 ( 54 6 8 reseni[,1,1]; ( 54 6 87 ) ( / 3 ) 6 x = 6 ( 54 6 87 ) assign(reseni[,1,1]); x;

bod:=[x,x]; bod := evalf(bod); Grafické znázornění: ( 54 6 87 ) ( / ) 3 6 6 ( 54 6 87 ) ( 54 6 87 ) ( / 3 ) 6 ( ( 54 6 87 ) ( / 3 ) 6 ), 6 ( 54 6 87 ) 36 ( 54 6 87 ) ( / 3 ) [ 0.589754513, 0.3478103848 ] with(plots):with(plottools): p1:=plot(x-x,-1..1,color=red,thickness=5): p:=pointplot([bod,[1,0]],symbolsize=0,symbol=solidcircle,color=black): p3:=line(bod,[1,0],color=black,thickness=5): display([p1,p,p3],scaling=constrained); Odlitek z betonu Z 1 krychlového metru betonu máme odlít co nejvyšší těleso buď ve tvaru krychle, nebo koule, nebo koule postavené na krychli. Jak vysoké bude toto těleso? Označme x hranu krychle, kterou z betonu odlijeme. Je jasné, že x patří do intervalu < 0, 1. V_krychle:=x3;

V_koule:=1-x3; V_krychle := x 3 V_koule := 1 x 3 solve(4/3*pi*r3=v_koule,r); 1 ( ( 6 6 x 3 ) π ) (( 6 6 x 3 ) π ) 4 I 3 (( 6 6 x3 ) π ),, π 4 π π 1 (( 6 6 x 3 ) π ) 4 I 3 ( ( 6 6 x3 ) π ) 4 π π r:=%[1]; vyska:=x*r; ( ( 6 6 x 3 ) π ) r := π vyska := x maximize(vyska,x=0..1); (( 6 6 x 3 ) π ) (( 6 6 x 3 ) π ) maximize x, π π 0 1 x =.. Maple má s maximalizací problémy. Mohli bychom použít příkaz Maximize z balíku Optimization a spočítat maximum alespoň numericky. Optimization[Maximize](vyska,{x=0,x<=1},initialpoint={x=1 /}); [ 1.7835761661059318, [ x = 0.74877988688184] ] assign(%[]); x; evalf(r); 0.74877988688184 0.517398139715417 Vidíme, že je potřeba odlít krychli o hraně 0.74877988688184 a kouli s poloměrem 0.517398139715417. Vznikne těleso s výškou 1.7835761661059318. Animace: with(plots): with(plottools):

kresli:=proc(x) local p1,p,r; p1:=hexahedron([0,0,x/],x/,color=grey); r:=evalf(surd((1-x3)*3/(4*pi),3)); p:=sphere([0,0,rx],r,color=grey); display([p1,p],axes=framed,scaling=constrained,orientatio n=[-135,75,0]); end; kresli := proc( x) local p1, p, r; p1 := plottools:-hexahedron ([ 0, 0, 1 / x ], 1 / x, color = grey ); r := evalf ( surd ( 3 / 4 ( 1 x3 ) / π, 3 ) ); p := plottools:-sphere ([ 0, 0, r x ], r, color = grey ); plots:-display ([ p1, p ], axes = framed, scaling = constrained, orientation = [ -135, 75, 0 ] ) end proc animate(kresli,[t],t=0..1,scaling=constrained,frames=50); x; kresli(x); 0.74877988688184

Dokázali bychom Maple popostrčit, aby maximalizaci spočítal (aniž bychom museli přistupovat k numerickému řešení)? Dvě chodby a žebřík Dvě chodby široké a a b metrů se křižují v pravém úhlu. Zjistěte maximální délku žebříku, který lze ve vodorovné poloze přenést z jedné chodby do druhé.

Není těžké si uvědomit, že maximální délka žebříku je rovna minimu délek všech možných červených úseček (viz obrázek výše). Funkce, která délku červené úsečky a b popisuje, má tvar d( t ) =, kde t je úhel, který svírá úsečka s osou x. sin( t ) cos( t) Úhel t přitom probíhá otevřený interval ( 0, π ). assume(a0,b0); d:=t-a/sin(t)b/cos(t); derivace:=d(d)(t); d := a t sin( t) b cos( t ) a~ cos( t ) b~ sin( t ) derivace := sin( t ) cos( t ) solve(derivace,t); 1 arctan ( a~ b~ ) ( a~ b~ ) I 3 ( ) ( a~ 1 / 3 ) b~, arctan, b~ b~ b~ 1 ( a~ b~ ) I 3 ( ) ( a~ 1 / 3 ) b~ arctan b~ b~ stac_bod:=%[1]; stac_bod := arctan ( ) ( a~ 1 / 3 ) b~ b~

Funkce d má tedy jediný stacionární bod v intervalu ( 0, π ). Zároveň je jasné, že v tomto otevřeném intervalu je funkce d diferencovatelná. Dále platí: Limit(d(x),x=0,right)=limit(d(x),x=0,right); a~ b~ lim = x 0 sin( x ) cos( x ) Limit(d(x),x=Pi/,left)=limit(d(x),x=Pi/,left); lim π x - a~ sin( x ) b~ cos( x ) = Na základě toho není těžké si uvědomit, že funkce d má ve vypočteném stacionárním bodě globální minimum. Promyslete si to! Hledaná délka: d(stac_bod); ( a~ b~ ) ( / 3 ) a~ b~ 1 b~ ( ) b~ 1 ( a~ b~ ) b~ delka:=simplify(%); b~ ( / 3 ) a~ ( / ) a~ b~ ( / 3 ) 3 ( a~ b~ ( / 3 ) a~ ) delka := a~ delka:=subs({a='a',b='b'},simplify(%)); delka := b ( / 3 ) a ( / ) 3 ( a b ( / 3 ) a ) a Hledaná maximální délka žebříku je a 3 b 3 3. Skutečně: delka_upravena:=(a(/3)b(/3))(3/); b~ ( / 3 ) a~ ( / 3 ) ( 3 / ) delka_upravena := ( )

simplify(delka-delka_upravena); 0 Bod v trojúhelníku Uvnitř trojúhelníku s vrcholy A = ( 0, 0 ), B = ( 4, 0 ) a C = ( 3, ) najděte bod X takový, aby součet vzdáleností AX BX CX byl minimální. Předpokládejme, že X = ( x, y ). Součet vzdáleností od jednotlivých vrcholů lze popsat následující funkcí: v:=(x,y)-sqrt(xy)sqrt((x-4)y)sqrt((x-3)(y- )); v := ( x, y ) x y ( x 4 ) y ( x 3 ) ( y ) bod:=minimize(v(x,y),location); 114167060 bod := 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 16304 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 790356 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 3530496874 103718989 11844455 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 1101366 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 818583 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 694443056 103718989 ( 1 / ) 114167060 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777)

16304 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 790356 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 3530496874 103718989 913336480 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 17304179 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 63848 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 11864471168 11844455 103718989 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 1101366 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 818583 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 694443056 103718989 ( 1 / ) 114167060 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 16304 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 790356 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 3530496874 103718989 448513450 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777)

84975880 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3104970 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 1065406611 11844455 103718989 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 1101366 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 818583 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 694443056 103718989 ( 1 / ) 114167060, { { x = 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 16304 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 790356 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 3530496874 11844455, y = 103718989 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 1101366 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 818583 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 694443056 114167060 }, 103718989 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777)

16304 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 790356 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 3530496874 103718989 11844455 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 1101366 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 818583 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 694443056 103718989 ( 1 / ) 114167060 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 16304 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 790356 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 3530496874 103718989 913336480 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 17304179 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 63848 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 11864471168 11844455 103718989 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777)

1101366 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 818583 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 694443056 103718989 ( 1 / ) 114167060 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 16304 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 790356 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 3530496874 103718989 448513450 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 84975880 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3104970 34139663 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 3 1065406611 11844455 103718989 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 1101366 103718989 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) 818583 6847936 RootOf ( 9409 _Z 4 155976 _Z 3 647774 _Z 156360 _Z 56731, 9.377777) ( 1 / ) 3 694443056 } 103718989 allvalues(bod[]);

4949934754 1185640 3 x = 103718989 34139663 16304 40 18 3 97 97 103718989 790356 40 18 3 97 97 34139663 114167060 17 8 3 17 8 3 17 8 3 3 34139663 1101366 40 18 3 11844455 17 8 3 97 97 6847936 103718989 818583 40 18 3 97 97 6847936 17 8 3 16304 40 18 3 114167060 17 8 3 97 97 34139663 103718989 790356 40 18 3 97 97 34139663 17 8 3 1101366 40 18 3 11844455 17 8 3 97 97 6847936 103718989 818583 40 18 3 97 97 6847936 17 8 3 3 3 3 406989 10971135 3, y = 103718989 34139663 17 8 3 4949934754 1185640 3, 103718989 34139663 17 8 3 406989 10971135 3 103718989 34139663 ( 1 / ) 16304 40 18 3 114167060 17 8 3 97 97 34139663 103718989 790356 40 18 3 97 97 34139663 17 8 3 3 17 8 3 4949934754 1185640 3 103718989 34139663 17 8 3 31997408 16948510 3 103718989 34139663

17304179 40 18 3 913336480 17 8 3 97 97 34139663 103718989 17 8 3 63848 3 40 18 3 17 8 3 97 97 406989 10971135 3 34139663 103718989 34139663 1101366 40 18 3 11844455 17 8 3 97 97 6847936 103718989 818583 40 18 3 97 97 6847936 17 8 3 3 ( 1 / ) 16304 40 18 3 114167060 17 8 3 97 97 34139663 103718989 790356 40 18 3 97 97 34139663 17 8 3 84975880 40 18 3 448513450 17 8 3 97 97 34139663 103718989 3 17 8 3 4949934754 1185640 3 103718989 34139663 17 8 3 168769711 839300 3 103718989 34139663 17 8 3 3104970 3 40 18 3 17 8 3 97 97 406989 10971135 3 34139663 103718989 34139663 1101366 40 18 3 11844455 17 8 3 97 97 6847936 103718989 818583 3 ( 1 / ) 40 18 3 17 8 3 97 97 6847936 bod:=simplify(%); 338 11 3 64 58 3 bod := { { x =, y = }, 97 91 97 91 17 8 3

4 69549 1804 3 91 evalf(bod); 4 6693 349 3 91 19705 7684 3 {[ { x =.817904843, y = 1.005013563}, 5.554854316 ] } bod[1,1]; assign(%); [x,y]; 338 11 3 64 58 3 { x =, y = } 97 91 97 91 338 97 11 3 64, 91 97 58 3 91 91 } Obrázek: with(plots): with(plottools): p1:=polygonplot([[0,0],[4,0],[3,]],thickness=5): p:=pointplot([x,y],symbol=solidcircle,symbolsize=0,color =red): p3:=line([x,y],[0,0],color=red,thickness=3): p4:=line([x,y],[4,0],color=red,thickness=3): p5:=line([x,y],[3,],color=red,thickness=3): p6:=contourplot(v(r,s),r=3/*s..4-s/,s=0..,contours=[seq (5i/10,i=0..5)],color=blue): display([p1,p,p3,p4,p5,p6],scaling=constrained,labels=[``,``]); Poznámka: Bod, jehož souřadnice jsme právě vypočetli, se nazývá Torricelliho bod. Obraz Na zdi je zavěšen obraz. Jeho spodní okraj A se nachází a délkových jednotek nad úrovní očí a jeho horní okraj B se nachází b délkových jednotek nad úrovní očí (viz obrázek). Určete, z jaké vzdálenosti je obraz vidět pod největším zorným úhlem.

Označme x vzdálenost od zdi (x je z intervalu ( 0, nekonečno)). Zorný úhel, pod kterým je obraz vidět, lze spočíst následovně: assume(a0,b0,a<b); uhel:=x-arctan(b/x)-arctan(a/x); Stacionární bod(y): uhel := x arctan b x extrema(uhel(x),{},x,'stac'); stac; arctan a x b~ a~ b~ a~ { arctan, arctan } a~ b~ a~ b~ {{ x = a~ b~ }, { x = a~ b~ } } Vidíme, že v oboru kladných čísel se nachází jeden stacionární bod x = a b. Dále platí: Limit(uhel(x),x=0,right)=limit(uhel(x),x=0,right); lim arctan b~ arctan a~ = 0 x 0 x x Limit(uhel(x),x=infinity)=limit(uhel(x),x=infinity); lim x arctan b~ x Funkční hodnota ve stacionárním bodě: arctan a~ x = 0

hodnota:=uhel(sqrt(a*b)); b~ hodnota := arctan arctan a~ b~ simplify(hodnota); b~ a~ arctan a~ b~ a~ a~ b~ Není těžké si rozmyslet, že hodnota v (jediném) stacionárním bodě je kladná. Vzhledem k tomu, že funkce uhel je diferencovatelná na intervalu ( 0, nekonečno) a limity v krajních bodech jsou nulové to znamená, že ve stacionárním bodě nastává globální maximum. Promyslete si to! Abychom obraz viděli pod největším zorným úhlem, musíme se postavit do vzdálenosti a b od zdi. Úlohy lineárního programování Řešit úlohu lineárního programování znamená hledat globální extrémy lineární funkce (více proměnných) na jisté množině, která je popsána pomocí lineárních omezení. K řešení úloh lineárního programování slouží v Maplu příkazy maximize a minimize z balíku simplex. Po načtení balíku simplex se mění význam (i syntaxe) příkazů maximize a minimize, jak ukazuje následující série příkazů. maximize(1-x); with(simplex); [ basis, convexhull, cterm, define_zero, display, dual, feasible, maximize, minimize, pivot, pivoteqn, pivotvar, ratio, setup, standardize] maximize(1-x); Error, (in maximize) non-linear objective function. Syntaxe: maximize(xy, {4*x3*y<=5, 3*x4*y<=4}); 1

8 1 { x =, y = } 7 7 Nutriční problém Krmná směs musí obsahovat alespoň 60 jednotek látky L 1, 160 jednotek látky L a 180 jednotek látky L 3. Směs lze vyrábět ze dvou surovin S 1 a S, přičemž - 1 kg suroviny S 1 obsahuje 3 jednotky látky L 1, 4 jednotky látky L a jednotky látky L 3, - 1 kg suroviny S obsahuje 1 jednotku látky L 1, 3 jednotky látky L a 4 jednotky látky L 3, - 1 kg suroviny S 1 stojí 14 Kč, - 1 kg suroviny S stojí 13 Kč. Je třeba určit množství surovin S 1 a S, jejichž smícháním dostaneme krmnou směs s požadovaným obsahem látek L 1, L a L 3 tak, aby celkové náklady na použité suroviny byly co nejnižší. Označme x množství suroviny S 1 a y množství suroviny S. with(simplex); [ basis, convexhull, cterm, define_zero, display, dual, feasible, maximize, minimize, pivot, pivoteqn, pivotvar, ratio, setup, standardize ] naklady:=14*x13*y; naklady := 14 x 13 y minimize(naklady,{3*xy=60,4*x3*y=160,*x4*y=180},non NEGATIVE); assign(%); naklady; { x = 10, y = 40 } 660 Je třeba použít 10 kg suroviny S 1 a 40 kg suroviny S. Celkové (minimální) náklady pak budou 660 Kč. Grafické znázornění: with(plots):

p1:=inequal({3*xy=60,4*x3*y=160,*x4*y=180}, x=0..100,y=0..70,optionsexcluded=[color=white]): p:=implicitplot(14*x13*y=660,x=0..100,y=0..70,thickness= 5,color=red): p3:=pointplot([10,40],symbol=solidcircle,symbolsize=0,col or=red): display([p1,p,p3],scaling=constrained); Optimalizace počtu pracovníků Služby pracovníků na daném nádraží jsou osmihodinové s nástupem po 4 hodinách počínaje půlnocí. K tomu, aby byl udržen hladký provoz, musí být ve službě alespoň tolik pracovníků, kolik je uvedeno v tabulce níže. Je třeba určit, kolik pracovníků má nastoupit do služby v každou nástupní dobu, aby nutné služby byly zajištěny s celkově minimálním počtem osob. 00:00-04:00 (min. 3 pracovnící) 04:00-08:00 (min. 8 pracovníků) 08:00-1:00 (min. 10 pracovníků) 1:00-16:00 (min. 8 pracovníků) 16:00-0:00 (min. 14 pracovníků) 0:00-4:00 (min. 5 pracovníků) Počty pracovníků, kteří v danou nástupní dobu nastoupí do práce označme po řadě x 1, x, x 3, x 4, x 5, x 6. with(simplex); [ basis, convexhull, cterm, define_zero, display, dual, feasible, maximize, minimize, pivot, pivoteqn, pivotvar, ratio, setup, standardize ] celkovy_pocet:=add(x[i],i=1..6); celkovy_pocet := x 1 x x 3 x 4 x 5 x 6 omezeni:=x[6]x[1]=3,x[1]x[]=8,x[]x[3]=10,x[3]x[4] =8,x[4]x[5]=14,x[5]x[6]=5; omezeni := 3 x 6 x 1, 8 x 1 x, 10 x x 3, 8 x 3 x 4, 14 x 4 x 5, 5 x 5 x 6 minimize(celkovy_pocet,{omezeni},nonnegative); { x 1 = 3, x = 10, x 3 = 0, x 4 = 9, x 5 = 5, x 6 = 0 } assign(%); celkovy_pocet; 7

V 00:00 nastoupí 3 pracovníci, ve 04:00 nastoupí 10 pracovníků, v 08:00 nenastoupí nikdo, ve 1:00 nastoupí 9 pracovníků, v 16:00 nastoupí 5 pracovníků, ve 0:00 nenastoupí nikdo. Od 00:00 do 04:00 budou přítomni 3 pracovnící, od 04:00 do 08:00 bude přítomno 13 pracovníků, od 08:00 do 1:00 bude přítomno 10 pracovníků, od 1:00 do 16:00 bude přítomno 9 pracovníků, od 16:00 do 0:00 bude přítomno 14 pracovníků, od 0:00 do 4:00 bude přítomno 5 pracovníků. Celkový (minimální) počet pracovníků potřebných pro nepřetržitý provoz nádraží je 7. Řezný plán Strojírenský závod potřebuje pro svoji výrobu 3 druhy kovových tyčí T 1, T, T 3, přičemž tyče T 1 mají délku 80 cm, tyče T mají délku 70 cm a tyče T 3 mají délku 40 cm. K dispozici jsou tyče délky 00 cm, které je třeba rozřezat. Přípustné jsou pouze takové způsoby řezání výchozích tyčí, při kterých nebude odpad větší než 30 cm. Předpokládáme, že odpad ze samotného řezu je zanedbatelný. Přitom se požaduje alespoň 500 tyčí T 1, 150 tyčí T a 300 tyčí T 3. Máme určit takový plán řezání výchozích tyčí, při kterém budou splněny požadavky při použití co nejmenšího počtu kusů těchto tyčí. Přípustné jsou následující způsoby řezání: 1) 80 80 40 (odpad 0) ) 80 70 40 (odpad 10) 3) 70 70 40 (odpad 0) 4) 80 40 40 40 (odpad 0) 5) 70 40 40 40 (odpad 10) 6) 40 40 40 40 40 (odpad 0) Dále označme x 1 počet tyčí, které rozřežeme způsobem 1), x počet tyčí, které rozřežeme způsobem ), x 3 počet tyčí, které rozřežeme způsobem 3), x 4 počet tyčí, které rozřežeme způsobem 4), x 5 počet tyčí, které rozřežeme způsobem 5) a x 6 počet tyčí, které rozřežeme způsobem 6).

with(simplex); [ basis, convexhull, cterm, define_zero, display, dual, feasible, maximize, minimize, pivot, pivoteqn, pivotvar, ratio, setup, standardize ] pocet:=add(x[i],i=1..6); pocet := x 1 x x 3 x 4 x 5 x 6 podminky:=*x[1]x[]x[4]=500, x[]*x[3]x[5]=150, x[1]x[]x[3]3*x[4]3*x[5]5*x[6]=300; podminky := 500 x 1 x x 4, 150 x x 3 x 5, 300 x 1 x x 3 3 x 4 3 x 5 5 x 6 minimize(pocet,{podminky},nonnegative); assign(%); pocet; { x 1 = 175, x = 150, x 3 = 0, x 4 = 0, x 5 = 0, x 6 = 0 } Musíme použít 35 tyčí, přičemž 175 tyčí nařežeme způsobem 1) a 150 tyčí nařežeme způsobem ). Způsobem 3) - 6) neřežeme žádnou tyč. Tímto nařezáním dostaneme 500 tyčí T 1, 150 tyčí T a 35 tyčí T 3. 35... a ještě jedna podobná úloha na závěr Ze tří složek je třeba namíchat 0 kg směsi. První složka stojí 10 Kč/kg, druhá 0 Kč/kg a třetí 30 Kč/kg. Přitom směs musí obsahovat minimálně 50% a maximálně 60% druhé složky a minimálně 15% třetí složky. Určete, jak máme směs namíchat, aby náklady na suroviny byly minimální. Označme x množství první složky, y množství druhé složky a z množství třetí složky. with(simplex): cena:=10*x0*y30*z; cena := 10 x 0 y 30 z omezeni:=xyz=0, y=10, y<=1, z=3; omezeni := x y z = 0, 10 y, y 1, 3 z minimize(cena,{omezeni},nonnegative); assign(%); cena; { x = 7, y = 10, z = 3 } 360

Směs je třeba namíchat ze 7 kg první složky, 10 kg druhé složky a 3 kg třetí složky. Náklady na výrobu budou 360 Kč.