Skip to content
Simplexmetoden Kalkylator Simplexmetoden Kalkylator

Simplexmetoden Kalkylator

Lös problem inom linjär programmering online, gratis, snabbt och med fullständiga pivotoperationer steg för steg.

Vår simplexmetod-kalkylator hanterar varianterna maximering, minimering, tvåfas, Big M, dual och reviderad simplex. Ange din målfunktion och dina bivillkor, så utför kalkylatorn varje pivotoperation automatiskt.

Simplexkalkylator

Så fungerar simplexmetod-kalkylatorn

1

Ange LP-problemet

Skriv in målfunktionens koefficienter och varje bivillkorsrad med dess högerledsvärde.

2

Välj maximera eller minimera

Välj ditt optimeringsmål. Verktyget bygger den initiala tablån med slackvariabler automatiskt.

3

Kör pivotiterationerna

Kalkylatorn identifierar pivotkolumnen via Cj-Zj, beräknar kvoter och utför elementära radoperationer tills optimum nås.

4

Läs av den optimala lösningen

Den slutliga tablån visar de optimala variabelvärdena, Zj-raden och det maximala/minimala målvärdet.

Exempel på simplextablå-utdata

Exempel på tablåiteration för ett maximeringsproblem med 2 variabler

Basis x1 x2 s1 s2 RHS Cj-Zj
x1 14 0 0 1 14 0
x2 7 1 0 0 7 5
Zj 35 5 0 0 35

Vad är simplexmetoden?

Simplexmetoden är den mest använda algoritmen för att lösa linjära programmeringsproblem (LP). Den utvecklades av George Dantzig 1947 och hittar det optimala värdet för en linjär målfunktion under en uppsättning linjära bivillkor. En simplexmetodskalkylator automatiserar denna process: du anger din målfunktion och dina bivillkor, och kalkylatorn utför varje pivotoperation tills den når den optimala lösningen och visar varje tablå längs vägen.

Linjära programmeringsmodeller finns överallt - att maximera vinst, minimera kostnad, fördela resurser, planera produktion samt lösa transport- och dietproblem. När sambanden är linjära förflyttar sig simplexmetoden effektivt från en hörnpunkt i det tillåtna området till nästa och förbättrar målet i varje steg tills ingen ytterligare förbättring är möjlig.

Simplexmetodens formel och standardform

Innan algoritmen tillämpas skrivs problemet i standardform. För ett maximeringsproblem omvandlas varje bivillkor till en ekvation genom att lägga till en slackvariabel (för mindre-än-eller-lika-bivillkor), subtrahera en överskottsvariabel (för större-än-eller-lika-bivillkor) och vid behov lägga till en artificiell variabel. Målet skrivs som Maximera Z = c1x1 + c2x2 + ... + cnxn, med förbehåll för bivillkorsekvationerna och alla variabler större än eller lika med noll.

Dessa koefficienter fyller den första simplextablån. Tablåkalkylatorn bygger denna tabell automatiskt och beräknar raderna Zj och Cj minus Zj för varje iteration så att du kan följa beräkningarna exakt.

Hur man löser simplexmetoden steg för steg

Ta exemplet Maximera Z = 3x1 + 5x2 med förbehåll för x1 + 2x2 mindre än eller lika med 14 och x1 + x2 mindre än eller lika med 8. Först, ställ upp den ursprungliga tablån genom att lägga till slackvariabler i de två bivillkoren. För det andra, beräkna Cj minus Zj och välj det mest positiva värdet som inkommande variabel (pivotkolumnen). För det tredje, tillämpa kvottestet genom att dividera varje högerledsvärde med pivotkolumnens positiva element och välj den minsta icke-negativa kvoten för att hitta den utgående variabeln (pivotraden). För det fjärde, pivotera med hjälp av elementära radoperationer. Slutligen, upprepa tills varje Cj minus Zj-värde är mindre än eller lika med noll.

För detta exempel är den optimala lösningen x1 = 2, x2 = 6, med Z = 36. Steg-för-steg-kalkylatorn på denna sida visar varje iteration så att du kan återskapa den på papper.

Maximering kontra minimering

Simplexmetoden hanterar båda riktningarna. I ett maximeringsproblem ökar algoritmen Z tills inget positivt Cj minus Zj återstår. Ett minimeringsproblem löses antingen genom att omvandla det till en likvärdig maximering (att minimera Z är detsamma som att maximera negativt Z) eller genom att välja det mest negativa Cj minus Zj. Minimeringsproblem innehåller ofta större-än-eller-lika-bivillkor, vilka kräver Big M-tekniken eller tvåfasmetoden.

Big M-metoden och tvåfasmetoden

När ett problem innehåller större-än-eller-lika-bivillkor införs artificiella variabler. Big M-metoden tilldelar dessa artificiella variabler ett mycket stort straff så att algoritmen driver ut dem ur basen. Tvåfas-simplexmetoden uppnår samma mål i två steg: Fas 1 minimerar summan av de artificiella variablerna för att hitta en tillåten startpunkt, och Fas 2 optimerar det verkliga målet. Båda når samma optimala lösning.

Dual och reviderad simplexmetod

Den duala simplexmetoden utgår från en optimal men otillåten tablå och återställer tillåtligheten, vilket är effektivt när bivillkor läggs till ett redan löst problem. Den reviderade simplexmetoden lagrar endast inversen av basmatrisen i stället för hela tablån, vilket gör den långt mer minneseffektiv för stora problem samtidigt som den ger identiska resultat.

Simplexmetoden på en grafritande eller TI-84-räknare

Du kan köra simplexalgoritmen för hand på en grafritande räknare med hjälp av matrisradoperationer. På en TI-84 lagrar du tablån som en matris och använder sedan rowSwap, multiplicera-rad och multiplicera-rad-addera från menyn MATRIX MATH för att pivotera. Casios vetenskapliga räknare har ingen inbyggd simplexfunktion, men deras Matris-läge kan utföra samma radoperationer manuellt. För omedelbara resultat utan manuell pivotering gör onlinekalkylatorn på denna sida varje steg åt dig.

Simplexmetoden kontra grafisk metod

Den grafiska metoden fungerar endast för problem med två variabler, där det tillåtna området kan ritas upp och optimum avläsas i en hörnpunkt. Simplexmetoden har ingen sådan begränsning - den löser problem med valfritt antal variabler. Använd tvåvariabelkalkylatorn för läroboksexempel, eller tre- och fyravariabelkalkylatorerna när ett problem växer bortom vad du kan rita upp grafiskt.

Linjära programmeringsproblem (LPP)

Ett linjärt programmeringsproblem (LPP) kombinerar ett linjärt mål med linjära bivillkor. LPP-simplexmetodskalkylatorn och den allmänna linjära programmeringskalkylatorn löser LPP för maximering och minimering online och visar hela tablåprocessen så att du kan lära dig metoden medan du löser verkliga problem.

Utforska alla simplexkalkylatorer

Välj det specifika verktyg för linjär programmering du behöver

Simplexmetod-kalkylator med steg

Steg-för-steg simplexmetod-kalkylator för linjär programmering. Se varje pivotoperation och tablåiteration.

Öppna verktyg →

Tvåfas simplexmetod-kalkylator

Tvåfas simplexmetod-kalkylator för LP-problem med artificiella variabler. Lös Fas 1 och Fas 2 automatiskt.

Öppna verktyg →

Big M-metoden kalkylator

Big M-metoden kalkylator för att lösa problem inom linjär programmering med artificiella variabler via straffmetoden.

Öppna verktyg →

Dual simplexmetod-kalkylator

Dual simplexmetod-kalkylator för att lösa problem inom linjär programmering genom att iterera på det duala problemet.

Öppna verktyg →

Minimering simplexmetod-kalkylator

Simplexmetod-kalkylator för minimering för att lösa LP-problem och hitta den minimala kostnaden eller målvärdet.

Öppna verktyg →

Simplexmetod-tablåkalkylator

Simplexmetod-tablåkalkylator för att lösa LP-problem. Beräkna Zj, Cj-Zj och utför pivotoperationer enkelt.

Öppna verktyg →

Reviderad simplexmetod-kalkylator

Reviderad simplexmetod-kalkylator som använder matrisoperationer för effektiv lösning av linjär programmering.

Öppna verktyg →

Maximering simplexmetod-kalkylator

Simplexmetod-kalkylator för maximering för att lösa problem inom linjär programmering och hitta det maximala målvärdet.

Öppna verktyg →

Kalkylator för linjär programmering med simplexmetoden

Gratis kalkylator för linjär programmering online som använder simplexmetoden för att lösa LP-problem steg för steg.

Öppna verktyg →

Simplexmetod-kalkylator : 2 variabler

Simplexmetod-kalkylator för problem inom linjär programmering med 2 variabler. Visualisera och lös 2D LP-problem direkt.

Öppna verktyg →

Simplexmetod-kalkylator : 3 variabler

Simplexmetod-kalkylator för problem inom linjär programmering med 3 variabler. Lös LP-problem med x1, x2 och x3 enkelt.

Öppna verktyg →

Simplexmetod-kalkylator : 4 variabler

Simplexmetod-kalkylator för problem inom linjär programmering med 4 variabler. Lös högdimensionella LP-problem direkt.

Öppna verktyg →

Simplexmetoden på grafritande / TI-84-räknare

Lär dig hur du löser simplexmetoden på en TI-84 eller grafritande räknare med matrisoperationer och radfunktioner.

Öppna verktyg →

LPP simplexmetod-kalkylator

LPP (linjärt programmeringsproblem) simplexmetod-kalkylator. Lös LPP-problem för maximering och minimering online.

Öppna verktyg →

Simplexmetodkalkylator för transportproblem

Simplexmetodkalkylator för transportproblem som minimerar fraktkostnaden från källor till destinationer med linjär programmering.

Öppna verktyg →

Matriskalkylator för simplexmetoden

Matriskalkylator för simplexmetoden som löser linjära programmeringsproblem med matrisradoperationer och visar varje simplextablå.

Öppna verktyg →

Pivotkalkylator för simplexmetoden

Pivotkalkylator för simplexmetoden som identifierar pivotkolumnen och pivotraden och utför varje pivotoperation steg för steg.

Öppna verktyg →

Simplexmetodkalkylator med slackvariabler

Simplexmetodkalkylator med slackvariabler som omvandlar olikheter till ekvationer och visar tablån med slackkolumnerna.

Öppna verktyg →

Icke-standardiserad simplexmetodkalkylator

Icke-standardiserad simplexmetodkalkylator för problem med större-än-eller-lika-med-bivillkor, lösta med Big M-metoden.

Öppna verktyg →

Nätverkssimplexmetodkalkylator

Nätverkssimplexmetodkalkylator för minimikostnadsflöde och linjära nätverksprogrammeringsproblem lösta med simplexalgoritmen.

Öppna verktyg →

Vanliga frågor

Hur gör man simplexmetoden på en miniräknare?

Ange målfunktionen och bivillkoren i miniräknarens fält, välj Maximera eller Minimera och klicka sedan på Lös. Verktyget utför automatiskt alla pivotoperationer och visar den optimala lösningen.

Hur löser man simplexmetoden på en miniräknare?

Mata in dina LP-variabler, koefficienter och bivillkor. Simplexräknaren går igenom varje tablåiteration och visar dig pivotprocessen steg för steg tills den optimala lösningen nås.

Hur använder man simplexmetoden på en miniräknare?

Välj antalet variabler, ange målfunktionsraden, lägg till varje bivillkorsrad med dess högerledsvärde (RHS), välj ditt mål (Max/Min) och tryck på Beräkna för att få den fullständiga lösningen.

Hur hittar man simplexmetoden med hjälp av en miniräknare?

Sök efter 'simplexmetod-miniräknare' online och öppna valfritt gratisverktyg. Mata in ditt linjärprogrammeringsproblem, så tillämpar miniräknaren simplexalgoritmen för att automatiskt hitta den optimala lösningen.

Hur beräknar man simplexmetoden i linjärprogrammering?

Ställ upp den initiala simplextablån med beslutsvariabler och slackvariabler. Identifiera det mest negativa Cj-Zj-värdet som pivotkolumn, beräkna kvoterna för att hitta pivotraden och utför sedan elementära radoperationer för att iterera.

Hur minimerar man med simplexmetoden med hjälp av en miniräknare?

Öppna simplexminimeringsräknaren, välj alternativet Minimera, ange koefficienterna för din kostnadsfunktion och bivillkorsvärdena, och klicka sedan på Lös för att få det minimala målvärdet och de optimala variabelvärdena.

Hur beräknar man Zj i simplexmetoden?

Zj = summan av (Cbi × aij) för varje kolumn j, där Cbi är målkoefficienten för den aktuella basvariabeln i rad i, och aij är motsvarande tablåelement i den kolumnen.

Hur löser man simplexmetoden med hjälp av en grafritande miniräknare?

På en TI-84 lagrar du tablån i en matris med MATRIX > EDIT och använder sedan radoperationer via MATRIX > MATH (rowSwap, *row, *row+). Alternativt kan du använda en dedikerad simplexapp som finns tillgänglig för TI-miniräknare.

Kan miniräknare utföra simplexmetoden?

Ja. Simplexräknare online hanterar hela algoritmen - från uppställning av den initiala tablån till den slutliga optimala lösningen - inklusive alla pivotval och radoperationer automatiskt.

Kan vi beräkna simplexmetodens pivotoperation med Casio?

Casios vetenskapliga miniräknare har ingen inbyggd simplexfunktion. Du kan dock manuellt utföra radoperationer på matriser med hjälp av Casios Matrix-läge för att genomföra varje pivotsteg.

Simplexmetod-miniräknare från A till Ö?

En fullständig simplexmetod-miniräknare täcker allt: att mata in LP-problemet, ställa upp den initiala tablån, utföra alla pivotiterationer, identifiera den optimala basen och visa den slutliga lösningen med alla variabelvärden.

Vad är simplexmetoden?

Simplexmetoden är en iterativ algoritm, utvecklad av George Dantzig 1947, för att lösa linjära programmeringsproblem. Den rör sig från ett hörn (hörnpunkt) i det tillåtna området till ett angränsande, och förbättrar målfunktionen i varje steg tills den når den optimala lösningen.

Är simplexmetoden samma sak som linjär programmering?

Nej. Linjär programmering är typen av problem - att optimera ett linjärt mål under linjära bivillkor. Simplexmetoden är en av de algoritmer som används för att lösa linjära programmeringsproblem; andra inkluderar den grafiska metoden och inrepunktsmetoder.

Vad är slack-, överskotts- och artificiella variabler?

En slackvariabel läggs till ett ≤-bivillkor för att göra det till en ekvation, en överskottsvariabel (surplus) subtraheras från ett ≥-bivillkor, och en artificiell variabel läggs till ≥- och =-bivillkor för att ge en tillåten baslösning som utgångspunkt. Artificiella variabler avlägsnas under Big M-metoden eller tvåfasmetoden.

Vad är skillnaden mellan Big M-metoden och tvåfasmetoden?

Båda hanterar artificiella variabler för ≥- och =-bivillkor. Big M-metoden använder ett enda mål med en stor strafkonstant M, medan tvåfasmetoden (two-phase) först minimerar de artificiella variablerna (Fas 1) och sedan optimerar det egentliga målet (Fas 2). Båda når samma optimum.

Hur väljer man pivotkolumn och pivotrad?

Vid maximering är pivotkolumnen (den inträdande variabeln) den kolumn som har det mest positiva Cj − Zj-värdet. Pivotraden (den utträdande variabeln) hittas med minsta kvot-testet: dela varje högerledsvärde med det positiva elementet i pivotkolumnen och välj den minsta icke-negativa kvoten.

När är en simplextablå (tableau) optimal?

En tablå är optimal när ingen ytterligare förbättring är möjlig. För ett maximeringsproblem inträffar detta när varje Cj − Zj-värde är mindre än eller lika med noll; för minimering, när varje Cj − Zj är större än eller lika med noll.

Kan simplexmetoden lösa minimeringsproblem?

Ja. Minimering löses antingen genom att omvandla det till en likvärdig maximering (att minimera Z är samma sak som att maximera −Z) eller genom att välja det mest negativa Cj − Zj som inträdande variabel. Bivillkor av typen ≥ hanteras med överskotts- och artificiella variabler.

Hur fungerar den duala simplexmetoden?

Den duala simplexmetoden utgår från en tablå som är optimal men otillåten (vissa högerledsvärden är negativa). Den väljer först den utträdande variabeln (det mest negativa högerledet), sedan den inträdande variabeln med ett dualt kvottest, och återställer tillåtligheten samtidigt som optimaliteten bevaras.

Vad är den reviderade simplexmetoden?

Den reviderade (revised) simplexmetoden utför samma iterationer som standardmetoden, men lagrar endast inversen av basmatrisen (B⁻¹) i stället för hela tablån. Detta gör den mycket mer minneseffektiv och är grunden för professionella linjärprogrammeringslösare.

Vad betyder en obegränsad lösning?

Ett linjärt program är obegränsat (unbounded) när målfunktionen kan ökas (vid maximering) eller minskas (vid minimering) utan gräns samtidigt som alla bivillkor uppfylls. I simplexmetoden upptäcks detta när pivotkolumnen inte har några positiva element för kvottestet.

Vad är en degenererad lösning i simplexmetoden?

Degeneration uppstår när en basvariabel är lika med noll i en tablå, ofta på grund av oavgjort i minsta kvot-testet. Degeneration kan orsaka cykling, där algoritmen upprepar tablåer utan att förbättra målet; anticyklingsregler som Blands regel (Bland's rule) förhindrar detta.

Hur många variabler kan simplexmetoden hantera?

Det finns ingen fast gräns. Den grafiska metoden är begränsad till två variabler, men simplexmetoden fungerar för valfritt antal beslutsvariabler och bivillkor - från små läroboksproblem med två variabler till industriella modeller med tusentals variabler.

Vad är transportsimplexmetoden?

Transportproblemet är ett särskilt linjärt program som minimerar kostnaden för att frakta varor från källor till destinationer. Det kan lösas med den allmänna simplexmetoden, men specialiserade versioner (såsom MODI- eller stepping-stone-metoderna) utnyttjar dess struktur för effektivitet.

Varför använder vi simplexmetoden i stället för den grafiska metoden?

Den grafiska metoden fungerar endast för problem med två variabler, eftersom det tillåtna området måste ritas i två dimensioner. Simplexmetoden har ingen sådan begränsning och kan lösa problem med valfritt antal variabler algebraiskt, vilket är anledningen till att den är standardmetoden.