Ask Your Question
0

BIK-PA1 prva uloha

asked 2015-11-07 14:57:44 +0100

anonymous user

Anonymous

Zdravím, Akým vzorcom je potrebné prepočítavať míchání 2 roztoků v 1. domácej úlohe z BIK-PA1 (15/16 ZS)? Asi nie je problém ošetriť vstupy prípadne výstupy no nedarí sa mi nájsť na nete ten správy vzorec, ktorý je potrebné použiť pri roztokoch.

edit retag flag offensive close delete

Comments

Vzorec? S tímhle zadáním je to jen otázka úvahy. Pokud vysloveně chcete vzorec, tak se podívejte na vážený průměr, ale je to úplně zbytečné.

Josef Kokeš ( 2015-11-07 15:10:57 +0100 )edit

Ak sa môžem spýtať, čo teda reprezentuju čísla 0.333333 a 0.666667 v ukážke práce programu? Hmotnost a koncentrace #1: 4 0.3 Hmotnost a koncentrace #2: 2 0.6 Hmotnost a koncentrace vysledku: 1 0.5 0.333333 x #1 + 0.666667 x #2

Andurit ( 2015-11-07 15:20:48 +0100 )edit

1 Answer

Sort by » oldest newest most voted
0

answered 2015-11-07 16:37:14 +0100

Josef Kokeš gravatar image

updated 2015-11-07 18:13:02 +0100

Hmm, radši ve formě odpovědi, ať je na to dost místa. Podotýkám, že nemám přístup na ProgTest, vycházím ze zadání, jak je napsané na Fit-Wiki - pokud tam není přesně, tak ta moje odpověď nemusí být správně.

Akým vzorcom je potrebné

Vzorec není potřeba. Tohle není úvaha na vzorce, dá se to vyřešit prostou úvahou. Pokud vysloveně chcete vzorec, dá se na to napasovat vážený aritmetický průměr. Ale IMHO je to zcela zbytečné.

Čo reprezentuju čísla

Čísla 0,33333 a 0,66667 z prvního zadání určují množství první resp. druhé látky, aby celkové množství (1,00000) bylo to zadané a koncentrace směsi byla také ta zadaná. Výpočet celkové koncentrace a celkového objemu je dle zadání zjednodušený proti realitě, což následně zjednodušuje i formulaci problému a jeho řešení.

Ještě k tomu vzorci

Dá se to řešit i formálním matematickým aparátem a pro těžší verzi zadání to možná bude i výhodné. Ta úloha se dá triviálně přeformulovat jako úloha lineárního programování s dvěma proměnnými a čtyřmi omezujícími podmínkami, což pak simplexová metoda dokáže snadno vyřešit. Akorát to je dost s dělem na vrabce, ta úloha je zcela jistě formulovaná tak, aby ji mohli vyřešit i studenti prvního ročníku, kteří nikdy o lineárním programování a simplexové metodě neslyšeli. Ale mohlo by to být dobré, pokud chcete porazit referenční řešení, zvlášť pokud nebudete psát obecnou simplexovou metodu, ale adaptujete si ji na tento konkrétní specifický příklad.

Standardní reformulace pro lineární programování:

# x, y ... kolik gramů první resp. druhé látky se má použít pro získání koncentrace
MAX 1 # Chceme jakékoliv vyhovující řešení, nepotřebujeme optimalizovat na to nejlepší z nich
SUBJECT TO
  x, y <= dostupné množství první resp. druhé látky
  x, y >= 0
  x + y = požadované množství směsi
  x*koncentrace_x + y*koncentrace_y = požadovaná koncentrace směsi

Ještě k využití simplexové metody

Co jsem si to teď kreslil (velmi nahrubo, bez konkrétních čísel, takže mi možná někde něco zásadního uteklo - ale řekl bych, že ne), vychází mi, že to konkrétní specifické řešení pro tento soubor příkladů by mělo spočívat ve výpočtu průsečíku dvou přímek a ověření čtyř triviálních podmínek. Ten průsečík se také dá zformulovat jako "vzoreček" pro x a pro y, takže ve finále skutečně jde jen o dosazení do dvou vzorečků a ověření, že získaný výsledek vyhovuje zadání. Vřele doporučuji, nakreslete si úlohu jako obrázek, zauvažujte nad ní jako nad abstraktním problémem z analytické geometrie a teprve potom se pusťte do programování; zjistíte nejspíš, že vlastně ani nic moc programovat nemusíte - takhle od pohledu bych to viděl na dva jednoduché výpočty s přiřazením výsledku do proměnných a test čtyř podmínek. Jediný "komplikovaný" případ (ve smyslu přidání dalších řádek kódu) by byl, kdyby koncentrace všech látek (zdrojové i cílové) byly shodné.

edit flag offensive delete publish link more

Comments

2

Pokud by někoho zajímalo lineární programování a simplexová metoda, tak doporučuji předmět BI-VMM. :-D

Tomáš Kalvoda ( 2015-11-07 17:32:44 +0100 )edit

Neprošel jsem si VMM, takže nevím, jak je tam LP prezentované, ale obecně: 1) LP je velice užitečná věc. 2) @Tomáš Kalvoda má všechny předměty super. Takže vřele doporučuju všem.

Josef Kokeš ( 2015-11-07 17:41:41 +0100 )edit

Děkuji. Každopádně na tuto úlohu je to overkill :-). Podle mě by mělo stačit si situaci geometricky rozmyslet (i v tom případě tří roztoků).

Tomáš Kalvoda ( 2015-11-07 17:46:02 +0100 )edit

Stačilo, ale když chce tazatel formální matematickou metodu, má ji mít :-)

Josef Kokeš ( 2015-11-07 18:09:22 +0100 )edit

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

Add answer

[hide preview]

Stats

Asked: 2015-11-07 14:57:44 +0100

Seen: 535 times

Last updated: Nov 07 '15