Zapsání modelu úlohy celočíselného programování do jazyka Mosel Deklarace seznamu indexů, polí a jejich naplnění koeficienty modelu, Deklarace rozhodovacích.

Slides:



Advertisements
Podobné prezentace
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Advertisements

Rozhodovací matice.
DATOVÝ TYP POLE.
Fronta - a)Implementace s využitím statických struktur (pole) b)Implementace s využitím dynamických struktur (spojového seznamu) odebírá se ze začátku.
Jak v praxi využít analýzu bodu zvratu?
Úvod Klasifikace disciplín operačního výzkumu
Programování v Pascalu Přednáška 10 RNDr. Hana Havelková.
Násobíme . 4 = = . 4 = = . 4 = = . 2 = 9 .
Materiály k přednášce Úvod do programování Ondřej Čepek.
Základy lineárního programování
Aplikace lineárního programování
LOGISTICKÉ SYSTÉMY 11/14.
POPTÁVKA PO VF TRPX – příjem z celkového produktu faktoru
Řešení úloh lineárního programování pomocí MOSELu
LINEÁRNÍ OPTIMALIZAČNÍ MODEL
Jazyk vývojových diagramů
Speciální vzdělávací potřeby - žádné - Klíčová slova
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
TOC Class Problem I (jednodušší varianta P&Q analýzy) (v tomto konkrétním příkladu je P=Y a Q=Z – specifikace proměnných) Ing.J.Skorkovský, CSc.
ROZHODOVACÍ ÚLOHY.
Příklad postupu operačního výzkumu
Slovní úloha – procenta Běloun 33/36
Věra Machová Gymnázium Uherské Hradiště
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ Ústav technologie, mechanizace a řízení staveb Fakulta stavební VUT v Brně © Ing. Václav Rada, CSc. 15. PŘEDNÁŠKA.
Operační výzkum Lineární programování Dualita v úlohách lineárního programování. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace.
Střední odborná škola a Střední odborné učiliště, Hradec Králové, Vocelova 1338, příspěvková organizace Registrační číslo projektu: CZ.1.07/1.5.00/
Seminář JČMF Matematika a fyzika ve škole
Název prezentace (DUMu): Jednoduché úročení – řešené příklady
JEDNÁNÍ ZASTUPITELSTVA
KOUŘENÍ RODINNÁ VÝCHOVA Mgr. Renata Šimková.
NÁZEV: VY_32_INOVACE_10_19_F9_Hanak TÉMA: Jaderná energie
Elektronické součástky a obvody
Brno, Michal Šturma Wireless Informatika naostro.
VY_32_INOVACE_AGEO_14 Analytická geometrie Parabola.
Procvičování měkkých a tvrdých souhlásek
Autor: Mgr. Vlasta Šujanová Název : VY_32_INOVACE_04CJ_2_SLDRUHY
AUTOR: Mgr. Kateřina Palečková NÁZEV: VY_32_INOVACE_5C_10
Centrální banka a obchodní banky- pracovní list
Výukový materiál zpracován v rámci projektu
Vypracovala: Mgr. Martina Belžíková
BOZP při provádění venkovních omítek
Představení projektu „Podpora KAP (P-KAP)“
Choroby čelistí a sinus maxillaris
Rekapitulace dosažených výsledků s hodnocením
Naše Škola.
Číslo projektu: CZ01-KA Rotenburg (Wümme) Číslo projektu: CZ01-KA
Projekt Starší kamarád 2016
POZOROVÁNÍ CHLUPŮ SAVCŮ A TEXTILNÍCH VLÁKEN
PRŮMYSLOVÁ ZÓNA nad OEZ Letohrad
Moje firma nebo můj příběh budoucího podnikatele
National symbols Tematická oblast Angličtina: CANADA Datum vytvoření
Nástroje interpretace novomediálního díla II
Kapitálový trh – pojem, nástroje
Mgr. Jindřiška Řehořková VY_32_Inovace_ Přemyslovci- opakování
NÁZEV ŠKOLY: Masarykova základní škola a mateřská škola Melč, okres Opava, příspěvková organizace ČÍSLO PROJEKTU: CZ.1.07/1.4.00/ AUTOR: Mgr. Lumír.
Výukový materiál zpracován v rámci projektu
Dva protikladné cíle a důsledky využití výsledků testování žáků ZŠ
Základní škola Bruntál Okružní
Název projektu: Podpora výuky v technických oborech
Rozšiřování lomených výrazů
Stará Huť Stará Huť je obec která leží 2 km od Dobříše. Huť se rozkládá na úpatí Brd, po řece Kocábě. Dokonce nám také tudy projíždí dvakrát do roka stará.
BIOLOGIE.
Grafické řešení soustavy lineárních rovnic o dvou neznámých
Rozlišovací schopnost Elektrostatické pole
ŠKOLA: Gymnázium, Tanvald, Školní 305, příspěvková organizace
NÁZEV: VY_32_INOVACE_09_01_F7_Hanak TÉMA: Pohyb tělesa
Rozklad mnohočlenů na součin užitím vzorců
Technická mechanika – Účinnost kladek a kladkostrojů
5 FIRMA A SPOTŘEBITEL.
Lineární optimalizační model
Transkript prezentace:

Zapsání modelu úlohy celočíselného programování do jazyka Mosel Deklarace seznamu indexů, polí a jejich naplnění koeficienty modelu, Deklarace rozhodovacích proměnných, Definice účelové funkce, Zápis strukturálních podmínek, Zápis obligatorních podmínek, Příkaz optimalizace, Určení formy výstupu. Jen zde se liší zápis od úlohy lineárního programování!

Úloha plánování výroby s nedělitelností Podnikatel vyrábí a prodává bramborové lupínky a hranolky pořadě za ceny 120 a 76 peněžních jednotek za kilogram produktu, přičemž lupínky může prodávat pouze v 15 kg baleních a hranolky v 30 kg baleních. Na výrobu 1 kg lupínků je zapotřebí 2 kg brambor a 0.4 kg oleje, na výrobu 1 kg hranolků je třeba 1.5 kg brambor a 0.2 kg oleje. Podnikatel nakoupil před zahájením výroby 100 kg brambor a 16 kg oleje za regulované ceny 12 a 40 peněžních jednotek za kilogram. Jaká množství jednotlivých produktů má podnikatel vyrábět a prodávat, aby maximalizoval svůj zisk při respektování omezených množství obou surovin, které má k dispozici?

Jednotkový zisk z výroby a prodeje jednotlivých produktů...prodává lupínky a hranolky pořadě za ceny 120 a 76 peněžních jednotek za kilogram. Na výrobu 1 kg lupínků je zapotřebí 2 kg brambor a 0.4 kg oleje, na výrobu 1 kg hranolků je třeba 1.5 kg brambor a 0.2 kg oleje. Podnikatel nakoupil brambory a olej za 12 a 40 peněžních jednotek za kilogram. Náklady na 1 kg lupínků 2 kg brambor 0.4 kg oleje 40 Sk za kilogram 12 Sk za kilogram   + == =12  2+40  0.4=40 Zisk z 1 kg: =80 Zisk z 15 kg balení c 1 =15*80=1200

Jednotkový zisk z výroby a prodeje jednotlivých produktů...prodává lupínky a hranolky pořadě za ceny 120 a 76 peněžních jednotek za kilogram. Na výrobu 1 kg lupínků je zapotřebí 2 kg brambor a 0.4 kg oleje, na výrobu 1 kg hranolků je třeba 1.5 kg brambor a 0.2 kg oleje. Podnikatel nakoupil brambory a olej za 12 a 40 peněžních jednotek za kilogram. Náklady na 1 kg hranolků 1.5 kg brambor 0.2 kg oleje 40 Sk za kilogram 12 Sk za kilogram   + == =12   0.2=26 Zisk z 1 kg: 76-26=50 Zisk z 30 kg balení c 2 =30*50=1500

Model úlohy plánování výroby s nedělitelností

Model úlohy plánování výroby s nedělitelností (Pole s koeficienty úlohy) UNITPROF: [1200, 1500] CONSOFPOT: [30, 45] CONSOFOIL: [6, 6]

Deklarace množiny indexů a polí v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations PRODUCTS=1..2 CONSOFPOT:array(PRODUCTS) of real CONSOFOIL:array(PRODUCTS) of real UNITPROF:array(PRODUCTS) of real end-declarations … end-model Úvodní klíčové slovo deklarace Koncové klíčové slovo deklarace

Inicializace polí v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations PRODUCTS=1..2 CONSOFPOT:array(PRODUCTS) of real CONSOFOIL:array(PRODUCTS) of real UNITPROF:array(PRODUCTS) of real end-declarations CONSOFPOT:=[ 30, 45 ] CONSOFOIL:=[ 6, 6 ] UNITPROF:=[ 1200, 1500 ] end-model

Deklarace rozhodovacích proměnných v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations PRODUCTS=1..2 CONSOFPOT:array(PRODUCTS) of real CONSOFOIL:array(PRODUCTS) of real UNITPROF:array(PRODUCTS) of real X:array(PRODUCTS) of mpvar end-declarations *** end-model Deklarace proměnných X(1), X(2)

Zápis účelové funkce v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations PRODUCTS=1..2 *** X:array(PRODUCTS) of mpvar end-declarations *** Profit:=sum(j in PRODUCTS) UNITPROF(j)*X(j) *** end-model Proměnná, která představuje zisk

Zápis strukturálních podmínek v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations *** end-declarations *** Profit:=sum(j in PRODUCTS) UNITPROF(j)*X(j) sum(j in PRODUCTS)CONSOFPOT(j)*X(j) <=100 sum(j in PRODUCTS)CONSOFOIL(j)*X(j) <=16 end-model

Deklarace celočíselných proměnných v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations *** end-declarations *** Profit:=sum(j in PRODUCTS) UNITPROF(j)*X(j) sum(j in PRODUCTS)CONSOFPOT(j)*X(j) <=100 sum(j in PRODUCTS)CONSOFOIL(j)*X(j) <=16 forall (j in PRODUCTS) X(j) is_integer end-model Toto jsou obligatorní podmínky celočíselnosti

Příkaz optimalizace v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations *** end-declarations *** Profit:=sum(j in PRODUCTS) UNITPROF(j)*X(j) sum(j in PRODUCTS)CONSOFPOT(j)*X(j) <=100 sum(j in PRODUCTS)CONSOFOIL(j)*X(j) <=16 maximize(Profit) end-model

Úloha o batohu (Knapsack Problem) Do batohu je možno uložit náklad o hmotnosti 21 kg. Tento náklad je možno složit z předmětů 1, 2, 3, 4, 5 a 6, které mají pořadě hmotnosti 12, 11, 10, 9, 9 a 8 a které není možno dělit. S přepravou jednotlivých předmětů jsou spojeny následující zisky 16, 14, 13, 10, 9 a 6. Úlohou je maximalizovat celkový zisk z přepravy předmětů, když s batohem je možno absolvovat jen jedinou cestu.

Úloha o batohu (Knapsack Problem) maximalizujte x 0 = 16 x x x x 4 +9 x x 6 za podmínek 12 x x x x 4 +9 x x 6  21 x j  {0, 1} pro j = 1,..., 6.

Úloha o batohu-vstupní údaje (Knapsack Problem) maximalizujte x 0 = 16 x x x x 4 +9 x x 6 za podmínek 12 x x x x 4 +9 x x 6  21 x j  {0, 1} pro j = 1,..., 6. Koeficienty c j jsou uloženy v textovém souboru KP_c.txt a koeficienty a j v textovém souboru KP_a.txt v následujícím tvaru: N resp. N c 1 a 1 c 2 a 2 : c N a N

Úloha o batohu (Knapsack Problem) model "Knapsack Problem" uses "mmxprs" declarations N:integer end-declarations ! Reading from a text file fopen("KP_c.txt", F_INPUT) readln(N) fclose(F_INPUT) end-model Otevření souboru KP_c.txt Uzavření souboru Načtení první položky souboru do N

Úloha o batohu (Knapsack Problem) declarations c:array(1..N) of integer a:array(1..N) of integer X:array(1..N) of mpvar end-declarations ! Reading from a text file fopen("KP_c.txt", F_INPUT) readln forall(j in 1..N) readln(c(j)) fclose(F_INPUT) Vynechání první položky souboru Načtení c j v cyklu

Úloha o batohu (Knapsack Problem) fopen("KP_a.txt", F_INPUT) readln forall(j in 1..N) readln(a(j)) fclose(F_INPUT) Profit:=sum(j in 1..N) c(j)*X(j) sum(j in 1..N) a(j)*X(j)<=21 forall(j in 1..N) X(j) is_binary maximize(Profit) Definování 0-1 proměnných

Úloha o batohu (Knapsack Problem) Profit:=sum(j in 1..N) c(j)*X(j) sum(j in 1..N) a(j)*X(j)<=21 forall(j in 1..N) X(j) is_binary maximize(Profit) writeln("Profit := ", getobjval) forall(j in 1..N) writeln("X( ",j,") := ", getsol(X(j))) end-model

Úloha o batohu-výsledky (Knapsack Problem) Profit := 27 X( 1) := 0 X( 2) := 1 X( 3) := 1 X( 4) := 0 X( 5) := 0 X( 6) := 0

Přiřazovací úloha V dopravní síti se v místech t 1, t 2, t 3 a t 4 nacházejí taxíky. Dispečer taxislužby obdržel objednávku od čtyř zákazníků, kteří se nacházejí v jiných čtyřech místech z 1, z 2, z 3 a z 4. Vzdálenosti mezi stanovišti taxíků a zákazníky udává {c ij }. Je třeba určit, který taxík má obsloužit kterého zákazníka (být mu přiřazen), aby celková vzdálenost kterou taxíky projedou na prázdno, tj. ze svého stanoviště k zákazníkovi, byla co nejmenší. Je třeba respektovat podmínku, že každý zákazník musí být obsloužen a že jeden taxík nemůže uspokojit více než jednoho z těchto zákazníků.

Přiřazovací úloha (Prezentace v grafu) x ij  {0, 1} „Jet či nejet, to je otázka“. 4

Přiřazovací úloha

Alokační úloha (Allocation Problem) Firma disponuje třemi velkými sklady v své distribuční síti. Z těchto skladů, které mají pořadě kapacity a i = 5000, 7000 a 6000 tun zboží, pokrývají požadavky deseti velkoodběratelů. Jejich požadavky jsou pořadě b j = 2000, 1000, 800, 700, 900, 2200, 1800, 1700, 1100 a 1200 tun. Vzdálenosti skladů od velkoodběratelů jsou dány koeficienty {d ij } Určete který velkoodběratel bude odkud zásobován tak, aby celkové dopravní náklady byly minimální, když víte že náklady na přepravu jedné jednotky zboží z i na místo j jsou lineárně závislé na vzdálenosti těchto míst. Je třeba dodržet podmínku, že každý velkoodběratel musí dostat celý svůj požadavek z jediného skladu.

Alokační úloha (Allocation Problem) zákazníci z ij  {0, 1} Sklady j=1, 2, b2b2 b1b1 b3b3 b5b5 b4b4 b6b6 b7b7 b9b9 b 10 b8b8 a2a2 a3a3 a1a1

Úloha o rozmístění dopravní flotily Školní správa zabezpečuje svoz dětí do škol od 7:00 do 8:00 po třech trasách j = 1, 2, 3. Zajištění přepravy obdržel jako zakázku za pevnou cenu dopravní podnik. V dané době podnik může na zakázku nasadit autobusy dvou typů i = 1, 2 s různými parametry. Doby jízdy na jednotlivých trasách v min. a náklady na jejich projetí udávají matice koeficientů {t ij } a {c ij }. Aby byli žáci svezeni do škol, je třeba, aby první trasu projely 4 druhou trasu 3 a třetí trasu 5 autobusů. Dopravní podnik v uvedené době může z časového fondu autobusů prvního typu čerpat celkem až 180 min a z časového fondu autobusů druhého typu nejvýše 120 min. Jak má podnik zabezpečit zakázku, aby jeho zisk byl co největší.

Úloha o rozmístění dopravní flotily Doby jízdy na jednotlivých trasách v min. a náklady na jejich projetí udávají matice koeficientů {t ij } a {c ij }. Typ_2 120 min z1jZ+z1jZ+ Škola Typ_1 180 min Trasa_3 5  Trasa_2 3  Trasa_1 4  Kolikrát typ 1 bude nasazen na trasu j

Úloha o rozmístění dopravní flotily účelová funkce Typ_2 120 min z1jZ+z1jZ+ Škola Typ_1 180 min Trasa_3 5  Trasa_2 3  Trasa_1 4  Kolikrát typ 1 bude nasazen na trasu j

Úloha o rozmístění dopravní flotily „náš zákazník, náš pán“ Typ_2 120 min z1jZ+z1jZ+ Škola Typ_1 180 min Trasa_3 5  Trasa_2 3  Trasa_1 4  Kolikrát typ 1 bude nasazen na trasu j

Úloha o rozmístění dopravní flotily „kde nic není, ani čert nebere“ Typ_2 120 min z1jZ+z1jZ+ Škola Typ_1 180 min Trasa_3 5  Trasa_2 3  Trasa_1 4  Kolikrát typ 1 bude nasazen na trasu j

Úloha o přidělování dopravních prostředků Pro zabezpečení stavby je třeba v průběhu jednoho dne dovézt ze železáren 70 t armovací ocele a z cementárny 135 t cementu. Každý z uvedených podniků se nachází v jiném místě a obě místa jsou od stavby vzdálená tak, že každé vozidlo použité na přepravu je za den schopno zvládnout jen jedinou cestu ze stavby do jednoho z podniků a zpět. K dispozici máme heterogenní park vozidel složený z 7 vozidel o nosnosti 10 t, 8 vozidel o nosnosti 8 t a 5 vozidel o nosnosti 20 t. Vozidla mohou převážet jak cement tak i ocel. Rozhodněte o nejvýhodnějším přidělení vozidel při nákladech {c ij } na jednu cestu tam a zpět do každého z obou podniků (1-železárny, 2-cementárna).

Úloha o přidělování dopravních prostředků z1jZ+z1jZ+ Stavba Typ_1: 10 tun 7 kusů Cementárna 150 t Železárna 70 t Kolikrát typ 1 bude nasazen na trasu j Typ_2: 8 tun 8 kusů Typ_3: 20 tun 5 kusů Rozhodněte o nejvýhodnějším přidělení vozidel při nákladech {c ij } na jednu cestu tam a zpět do každého z obou podniků (1-železárny, 2-cementárna).

Úloha o přidělování dopravních prostředků „náš zákazník, náš pán“ z1jZ+z1jZ+ Stavba Typ_1: 10 tun 7 kusů Cementárna 150 t Železárna 70 t Kolikrát typ 1 bude nasazen na trasu j Typ_2: 8 tun 8 kusů Typ_3: 20 tun 5 kusů

Úloha o přidělování dopravních prostředků „kde nic není, ani čert nebere“ z1jZ+z1jZ+ Stavba Typ_1: 10 tun 7 kusů Cementárna 150 t Železárna 70 t Kolikrát typ 1 bude nasazen na trasu j Typ_2: 8 tun 8 kusů Typ_3: 20 tun 5 kusů

Dopravní úloha s kontejnery Je třeba řešit zásobování n odběratelů s požadavky b j z m skladů s kapacitami a i, kde součet požadavků je menší než součet kapacit. K dopravě zboží je ale možno použít jen kontejnery o kapacitě K. Požadavky i kapacity je možno do kontejnerů libovolně dělit, ale náklady na dopravu jsou dány počty kontejnerů, které budou přepraveny mezi jednotlivými dvojicemi sklad-odběratel. Určete nyní nejlevnější přepravní plán pro zásobení odběratelů, když náklady na přepravu jednoho kontejneru z místa i na místo j jsou c ij.

Dopravní úloha s kontejnery Podnikatel

Dopravní úloha s fixní sazbou Organizace zásobuje čtyři vodárny vodou z tří zdrojů vlastní potrubní sítí. Pro doplnění zásob je třeba do vodáren dopravit pořadě b j = 80, 80, 140 a 80 m 3 vody denně. Kapacity zdrojů jsou pořadě a i = 100, 150 a 200 m 3 denně. Náklady na dopravu jedné jednotky vody ze zdroje i do vodárny j potrubím které je a nebo bude vybudováno, jsou dány maticí koeficientů c ij, i = 1..3 a j = Informace, zda ze zdroje i do vodárny j je vybudováno potrubí, je dána 0-1 hodnotou koeficientu q ij, kde q ij = 0 znamená že ze zdroje i k vodárně j není vybudováno potrubí. Jeho vybudování si vyžádá investičními náklady, jejichž denní odpisy představují částku 300 peněžních jednotek. Je třeba určit co nejméně nákladný zásobovací program organizace.

Dopravní úloha s fixní sazbou Podnikatel

Lokační úloha Uncapacitated Facility Location Problem Je zadaná dopravní síť se zákazníky v uzlech j  J a s místy i  I v nichž je možno umístit servisní střediska poskytující služby. I jedno středisko umístěné kdekoliv v uzlu z množiny I je schopno obsloužit všechny zákazníky. Úloha spočívá v minimalizaci celkových nákladů, které zahrnují investiční náklady f i spojené s umístěním střediska v místě i a dále provozní náklady c ij spojené s obsluhou zákazníka j z místa i. Podmínkou je, že každý zákazník musí být obsloužen, nebo-li musí být přiřazen některému vybudovanému středisku.

Lokační úloha Uncapacitated Facility Location Problem Podnikatel

Úloha obchodního cestujícího (Travelling Salesman Problem) V úplné dopravní síti ( tj. síť, kde je každý uzel spojen úsekem s každým jiným uzlem ) o n uzlech a s nezáporným ohodnocením neorientovaných úseků c ij se v uzlu 1 nachází obchodní cestující. Je třeba pro něho nalézt trasu s co nejmenším celkovým ohodnocením použitých úseků tak, aby navštívil každý uzel právě jednou a aby se vrátil zpět do výchozího uzlu. ( Tato úloha je známa také pod názvem úloha nejlevnější hamiltonovské kružnice na úplném grafu.)

Úloha obchodního cestujícího (Travelling Salesman Problem) Podnikatel

Úloha okružních jízd (Vehicle Routing Problem-VRP) V úplné dopravní síti s uzly 1,..., n se vzdálenostmi c ij mezi nimi je v uzlu 1 umístěn zdroj a v uzlech 2,..., n odběratelé s požadavky b j. Ve zdroji jsou k dispozici vozidla o kapacitě K, kde b j  K pro j = 2,..., n. Určete trasy vozidel tak, aby jejich celková délka byla co nejmenší, aby všichni odběratelé byli obslouženi a to každý jen jednou návštěvou některého vozidla.

Úloha okružních jízd (Vehicle Routing Problem-VRP) Podnikatel

Úloha rozkladu množiny (Set Partitioning Problem) Bylo navrženo 7 různých tras, jimiž je možno obsloužit ze střediska 1 zákazníky 2, 3, 4 a 5 jsou to trasy s náklady s náklady s náklady s náklady s náklady s náklady s náklady 20 Určete nejlevnější sestavu tras, které obslouží všechny zákazníky tak, že každý zákazník bude ležet jen na jedné trase.

Podmínky "buď a nebo" Nechť z ostatních podmínek úlohy plánování výroby, které zde neuvádíme, vyplývá že výrobků typu 1 může být nejvýše 50 a výrobků typu 2 nejvýše 100. Je třeba zabezpečit, aby výroba buď nespotřebovala více pracovních hodin než 500 a nebo, aby nespotřebovala více než 600 tun materiálu. Přitom na výrobu jednoho výrobku typu 1 je třeba 20 hod a 27 tun, na výrobek typu 2 je třeba 18 hod a 30 tun.

Podmínky "buď a nebo" Podmínky, z nichž alespoň jedna má platit, jsou vzhledem k výrobnímu programu tyto: 20 x x 2  x x 2  600.

Podmínky "buď a nebo" Z maximálního počtu výrobků víme, že spotřeba prac. hodin nepřekročí 2800 hod a spotřeba ocele 4350 tun. Zavedeme bivalentní proměnnou y, hodnota 1 znamená, že řešení má vyhovovat podmínce 20 x x 2  500 a platnost druhé podmínky nemusí být požadovaná. Hodnota 0 bude znamená druhý případ. 20 x x 2  (1- y) 27 x x 2  y. Proměnná y může nabývat pouze jedné ze dvou hodnot 1 a 0, bude-li y = 1, druhá z podmínek přejde v něco, co je v každém případě splněno a první bude vyžadována v původním tvaru. Pro y = 0 tomu bude právě naopak.