Tankeledare

Från pussel till praktik: Den växande betydelsen av matematisk optimering

mm
Lägg till Unite.AI bland dina föredragna källor på Google

Har du någonsin betraktat dig själv som matematiker när du satt och löste ett Sudoku-pussel? Det är utan tvekan en mentalt stimulerande aktivitet – granska rutorna, skriv ner några möjliga 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 akt 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 penna- och papperspussel som Sudoku till traditionella brädspel och populära videospel. Det är också alltmer inbäddat i systemen som styr våra dagliga liv, och påverkar allt från de rutter som våra leveransförare tar till de försäljningskampanjer som onlineåterförsäljare erbjuder, till de beslut som ser till att våra hem förses med el.

Hur löper den gemensamma tråden av matematisk optimering genom en sådan mångfaldig samling av 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 den kraft som algoritmiskt tänkande erbjuder, kan optimering granska var och en av de många möjliga resultaten för ett sådant problem och ge en opartisk 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 i 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 dyker in i detaljerna i den linjära, icke-linjära och blandade heltalsprogrammering som sker bakom kulisserna. Men som vi antydde tidigare, kan matematisk optimering hittas i de enklaste platserna, 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 pussel 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: Att fylla i hela Sudoku-rutnätet med nummer som minimerar brott 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 i Sudoku-rutnätet.

Oavsett om du är medveten om det eller inte, är din beaktning 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 mappas 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 innehåller probing, finns liknande funktioner av optimering närvarande i en mängd 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 blocken på det optimala sättet baserat på deras form och förmåga att fylla och ta bort rader. Till och med 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 mån 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 väsentlig nödvändighet, som bokstavligen driver våra dagliga liv. Energinätet måste balansera utbud och efterfrågan i realtid, balansera belastning och minimera kostnad samtidigt som det undviker oväntad nedtid eller strömavbrott. Det måste göra detta genom att överväga fältet av giltiga 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 innehåller följande faktorer:

  1. Målfunktion: Leverera tillförlitlig och hållbar el till kunderna till lägsta kostnad.
  2. Beslutsvariabler: Kraftverksproduktionsnivåer, kraftflödesruttering, generator 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 det tar hänsyn till varje anläggnings/ generators maximala utmatning, överföringskapacitet, miljö- och regulatoriska tak, och operativa säkerhetsmarginaler.

Det finns definitivt mer att ta hänsyn till här än i ett spel av Sudoku. Ändå kan energibolag använda matematisk optimering för att lösa dessa komplexa problem enkelt och effektivt, med hjälp av samma algoritm som löser även de svåraste Sudoku-problemen på bråkdelen av en sekund. Varje faktor – från en anläggnings totala produktionskapacitet 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 möjliga resultat, bedöma deras livskraft och presentera bolaget med en opartisk, idealisk 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änslesparande sätt. Din online-shoppingsupplevelse anpassas konstant för att presentera dig med optimalt produktplacering; från annonserna du ser till försäljningserbjudandena 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 presenterar organisationer med förbättrad förmåga att strömlinjeforma 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 kommersiella lösarens förmågor, skapar starkare och mer effektiva verktyg för alla företag som står inför komplexa utmaningar.

Antingen 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 stor mängd 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 kunderna för att stödja dem i att implementera och utnyttja kraften av matematisk optimering i deras organisationer.