Connect with us

FrÄn pussel till praktik: Den vÀxande betydelsen av matematisk optimering

Tankeledare

FrÄn pussel till praktik: Den vÀxande betydelsen av matematisk optimering

mm

Tänkte du på dig själv som matematiker senast du satte dig ner för att lösa ett Sudoku-pussel? Det är utan tvekan en mentalt stimulerande aktivitet – granska rutorna, skriv ner några potentiella svar, scanna dina rader, kolumner och distinkta 3×3-block för upprepade nummer – men är det verkligen matematik?

Svaret, det visar sig, är ja. Att lösa ett Sudoku-pussel är i slutändan en handling av matematisk optimering. Varje drag du gör är ett val som begränsas av logik, spatiala regler och önskan att lösa pusslet så snabbt som möjligt. Dessa drivande faktorer är alla kännetecken på ett optimeringsproblem i verksamhet.

Optimering – att hitta den bästa lösningen av många möjliga resultat – är en otroligt vanlig praxis. Det är en form av problemlösning som finns över hela “spelspektrumet”, från enkla pappers- och pennpussel som Sudoku till traditionella brädspel och populära videospel. Det är också alltmer integrerat i systemen som driver våra dagliga liv, och påverkar allt från de rutter som våra leveransförare tar till de försäljningserbjudanden som online-återförsäljare erbjuder, till de beslut som håller våra hem försedda med el.

Hur löper den gemensamma tråden av matematisk optimering genom en sådan diversifierad samling spel, pussel, leveranslogistik och till och med kritisk infrastruktur? Låt oss gräva djupare och ta reda på.

Vad är matematisk optimering?

Matematisk optimering använder matematikens kraft för att undersöka komplexa, verkliga problem och bestämma den bästa möjliga lösningen. Det är ett otroligt kraftfullt verktyg för att närma sig multifacetterade problem som är belastade med en mängd variabler och utmaningar. Genom kraften av algoritmiskt tänkande kan optimering granska var och en av de många potentiella resultaten för ett sådant problem och ge ett opartiskt rekommendation.

Liksom ett brädspel eller pussel gör det detta genom att följa en uppsättning kärninstruktioner. Varje matematiskt optimeringspussel innehåller tre kärnkomponenter:

  1. Målfunktionen: Det slutliga mål du vill uppnå.
  2. Beslutsvariabler: Variabler som representerar de artiklar som är inblandade som du kan kontrollera och/eller ändra för att nå ditt mål.
  3. Begränsningar: Regler och/eller begränsningar som du absolut måste följa.

Genom att översätta dessa komponenter till matematiska representationer kan matematisk optimering analysera dem, extrapolera resultaten som är associerade med ändringar av varje variabel och bestämma den bästa möjliga lösningen för det specificerade målet.

Optimering i de spel vi spelar

Detta kan, förståeligt, låta ganska komplext och tekniskt – särskilt om du går in på de intrikata detaljerna i den linjära, icke-linjära och blandade heltalsprogrammering som sker bakom kulisserna. Men som vi antydde tidigare kan matematisk optimering hittas på de enklaste ställena, inklusive de spel vi spelar och pusslen vi gillar att lösa.

Låt oss ta en närmare titt på vårt Sudoku-exempel: på ytan verkar detta pusselspel ganska enkelt. Det är ett möjliggörande problem, där du presenteras med en partiell rutnät av nummer som du behöver bedöma och bestämma de bästa möjliga lösningarna. När du spelar detta spel är du medveten om följande faktorer:

  1. Målfunktion: Fylla i hela Sudoku-rutnätet med nummer som minimerar brotten mot pusslets regler.
  2. Beslutsvariabler: Vilka nummer du väljer att skriva i vilka av de tomma rutorna.
  3. Begränsningar: Du kan inte upprepa samma nummer mer än en gång i en enskild rad, kolumn eller 3×3-block av Sudoku-rutnätet.

Oavsett om du är medveten om det eller inte, din övervägande av dessa faktorer – och ditt efterföljande val av de bästa möjliga lösningarna för varje tom ruta – utgör ett optimeringsproblem. Operationerna i Sudoku kan direkt kartläggas till en optimeringsprocedur som kallas “probing”, där du tentativt fastställer en variabels värde till en specifik gräns för att undersöka de logiska konsekvenserna och få ytterligare information om problemets större struktur.

Medan de kanske inte involverar probing, finns liknande funktioner av optimering närvarande i ett brett utbud av populära spel. När du spelar schack är du begränsad av vilka pjäser som kan flytta på vilket sätt och gör beslut som hjälper dig att samla in motståndarens pjäser och schacka deras kung. I Tetris måste du rotera och justera block på det optimala sättet baserat på deras form och förmåga att fylla och ta bort rader. Även populära strategibaserade videospel som Cities: Skylines, SimCity och Civilization kräver noggrann resursbedömning och tilldelning för att optimera allt från zonindelning och trafikhantering till militärstrategi. Var och en av dessa åtgärder, i någon utsträckning eller annan, är en övning i optimering.

Praktiska tillämpningar av optimering

Denna samma känsla sträcker sig bortom pussel, brädspel och datorstrategispel till de beslut som formar våra dagliga liv. Låt oss överväga ett vanligt optimeringsanvändningsfall: att hantera energinätet.

El är en livsviktig nödvändighet, som bokstavligen driver våra dagliga liv. Energimätare måste balansera utbud och efterfrågan i realtid, balansera belastning och minimera kostnad medan de undviker oväntad nedtid eller strömavbrott. Det måste göra detta genom att överväga fältet av livskraftiga kraftverk och bestämma vilka som ska slås på eller av för att möta den förväntade efterfrågan, och skapa ett komplext blandat heltalsproblem som involverar följande faktorer:

  1. Målfunktion: Leverera tillförlitlig och hållbar el till kunder till minimal kostnad.
  2. Beslutsvariabler: Kraftverksgenereringsnivåer, kraftflödesruttering, generatorns på/av-status, laddnings- och urladdningsscheman för energilagringssystem och lastskiftstrategier.
  3. Begränsningar: Utbud måste konsekvent och totalt möta efterfrågan, samtidigt som man tar hänsyn till varje anläggning/generators maximala utmatning, överföringskapacitet, miljö- och regleringsbegränsningar och operativa säkerhetsmarginaler.

Det finns definitivt mer att ta hänsyn till här än i ett spel av Sudoku. Ändå kan energiföretag använda matematisk optimering för att lösa dessa komplexa problem enkelt och effektivt, med hjälp av samma algoritm som löser till och med de svåraste Sudoku-problemen på bråkdelen av en sekund. Var och en av faktorerna – från en anläggnings totala genereringskapacitet till en stads historiska efterfrågedata – kan översättas till matematiska variabler och begränsningar och matas in i en kommersiell optimeringslösare. Lösaren kommer sedan att analysera det enorma antalet potentiella resultat, bedöma deras livskraft och presentera företaget med en opartisk, ideal lösning för deras nätverksbehov, ibland inom sekunder.

Optimeringens lovande framtid

Detta är inte exklusivt för energibranschen heller. Dina leveransförare tar optimerade rutter, lämnar paket på ett effektivt och bränslebesparande sätt. Din online-shoppingsupplevelse anpassas ständigt för att presentera dig med optimalt produktplacering; från de annonser du ser till de försäljningserbjudanden du får. Om du är en fan av ditt lokala NFL-lag är deras matcher resultatet av schemaläggningsoptimering.

Användningen av optimering växer, och ger organisationer en förbättrad förmåga att effektivisera sitt beslutsfattande och uppnå mer konsekvent och hållbar framgång. När artificiell intelligens och maskinlärande fortsätter att utvecklas, hjälper de till att ytterligare stärka förmågan hos kommersiella lösare, och skapar starkare och mer effektiva verktyg för alla företag som står inför komplexa utmaningar.

Oavsett om det är i ett spel av Sudoku eller hantering av ett regionalt elnät, hjälper optimering till att göra beslutsfattandet mindre av en börda. Dess tillgänglighet och allmänhet kommer bara att göra våra liv enklare – även när våra beslut blir mer komplexa.

Dr. Ed Klotz har över 30 Ärs erfarenhet av den matematiska optimeringsprogramvaruindustrin. Under sin karriÀr pÄ IBM, ILOG, Inc. och CPLEX Optimization, Inc. har han arbetat med en bred skara kunder för att hjÀlpa dem lösa nÄgra av vÀrldens mest utmanande matematiska optimeringsproblem. I sin roll som Senior Mathematical Optimization Specialist pÄ Gurobi R&D-team arbetar Dr. Klotz nÀra med kunder för att stödja dem i att implementera och utnyttja kraften av matematisk optimering i sina organisationer.