Optimaliseringsprobleme: konsep, oplossingsmetodes en klassifikasie

INHOUDSOPGAWE:

Optimaliseringsprobleme: konsep, oplossingsmetodes en klassifikasie
Optimaliseringsprobleme: konsep, oplossingsmetodes en klassifikasie
Anonim

Optimalisering help jou om die beste resultaat te vind wat wins bring, koste verminder of 'n parameter stel wat sakeprosesmislukkings veroorsaak.

Hierdie proses word ook wiskundige programmering genoem. Dit los die probleem op om die verspreiding van beperkte hulpbronne te bepaal wat nodig is om die doelwit te bereik wat deur die hoof van die optimaliseringsprobleem gestel is. Van al die moontlike opsies is dit wenslik om die een te vind wat die beheerparameter maksimeer (of verminder), byvoorbeeld wins of koste. Optimeringsmodelle word ook voorskriftelik of normatief genoem omdat hulle poog om 'n haalbare strategie vir die besigheid te vind.

Ontwikkelingsgeskiedenis

Lineêre programmering (LP) werk met 'n klas optimeringsprobleme waar alle beperkings lineêr is.

Metodes om optimeringsprobleme op te los
Metodes om optimeringsprobleme op te los

Bied 'n kort geskiedenis van die ontwikkeling van langspeelplaat aan:

  • In 1762 het Lagrange eenvoudige optimeringsprobleme met gelykheidsbeperkings opgelos.
  • In 1820 het Gauss besluitlineêre stelsel van vergelykings wat eliminasie gebruik.
  • In 1866 het Wilhelm Jordan die metode vervolmaak om kleinste-kwadrate-foute as 'n pasmaatstaf te vind. Dit word nou die Gauss-Jordaniese metode genoem.
  • Die digitale rekenaar het in 1945 verskyn.
  • Danzig het simpleksmetodes in 1947 uitgevind.
  • In 1968 het Fiacco en McCormick die Inside Point-metode bekendgestel.
  • In 1984 het Karmarkar die binne-metode toegepas om lineêre programme op te los, en sy innoverende ontleding bygevoeg.

LP het bewys dat dit 'n uiters kragtige hulpmiddel is vir die modellering van werklike probleme en as 'n wyd toegepaste wiskundige teorie. Baie interessante optimaliseringsprobleme is egter nie-lineêr.

Wat om te doen in hierdie geval? Die studie van sulke probleme behels 'n uiteenlopende mengsel van lineêre algebra, meerveranderlike calculus, numeriese analise en berekeningsmetodes. Wetenskaplikes ontwikkel rekenaaralgoritmes, insluitend binnepuntmetodes vir lineêre programmering, meetkunde, ontleding van konvekse stelle en funksies, en die studie van spesiaal gestruktureerde probleme soos kwadratiese programmering.

Nie-lineêre optimalisering verskaf 'n fundamentele begrip van wiskundige analise en word wyd gebruik in verskeie velde soos ingenieurswese, regressie-analise, hulpbronbestuur, geofisiese eksplorasie en ekonomie.

Klassifikasie van optimeringsprobleme

Lineêre programmeringsoptimeringsprobleme
Lineêre programmeringsoptimeringsprobleme

'n Belangrike stap inDie optimaliseringsproses is die klassifikasie van modelle, aangesien hul oplossingsalgoritmes vir 'n spesifieke tipe aangepas is.

1. Probleme met diskrete en deurlopende optimalisering. Sommige modelle maak slegs sin as die veranderlikes waardes van 'n diskrete subset van heelgetalle neem. Ander bevat data wat enige werklike waarde kan aanneem. Hulle is gewoonlik makliker om op te los. Verbeterings in algoritmes, gekombineer met vooruitgang in rekenaartegnologie, het die grootte en kompleksiteit van 'n lineêre programmeringsoptimeringsprobleem dramaties vergroot.

2. Onbeperkte en beperkte optimalisering. Nog 'n belangrike verskil is take waar daar geen beperking op veranderlikes is nie. Dit kan wyd wissel van eenvoudige beramers tot stelsels van gelykhede en ongelykhede wat komplekse verhoudings tussen data modelleer. Sulke optimeringsprobleme kan verder geklassifiseer word volgens die aard van die funksies (lineêr en nie-lineêr, konveks en glad, differensieerbaar en nie-differensieerbaar).

3. Uitvoerbaarheidstake. Hulle doelwit is om veranderlike waardes te vind wat aan modelbeperkings voldoen sonder enige spesifieke optimaliseringsdoelwit.

4. Komplementariteitstake. Hulle word wyd gebruik in tegnologie en ekonomie. Die doel is om 'n oplossing te vind wat aan die komplementariteitsvoorwaardes voldoen. In die praktyk word take met verskeie doelwitte dikwels in enkeldoelwitte herformuleer.

5. Deterministiese versus stogastiese optimering. Deterministiese optimalisering veronderstel dat die data viropdragte is heeltemal akkuraat. Oor baie aktuele kwessies kan hulle egter om 'n aantal redes nie bekend wees nie.

Die eerste het te doen met 'n eenvoudige meetfout. Die tweede rede is meer fundamenteel. Dit lê in die feit dat sommige data inligting oor die toekoms verteenwoordig, byvoorbeeld die vraag na 'n produk of die prys vir 'n toekomstige tydperk. Wanneer geoptimeer word onder stogastiese optimeringstoestande, word onsekerheid by die model ingesluit.

Hoofkomponente

Tipes optimaliseringsprobleme
Tipes optimaliseringsprobleme

Die doelfunksie is die een wat geminimaliseer of gemaksimeer moet word. Die meeste tipes optimaliseringsprobleme het een objektiewe funksie. Indien nie, kan hulle dikwels herformuleer word om te werk.

Twee uitsonderings op hierdie reël:

1. Teiken soektaak. In die meeste besigheidstoepassings wil die bestuurder 'n spesifieke doelwit bereik terwyl hy modelbeperkings bevredig. Die gebruiker wil nie juis iets optimaliseer nie, so dit maak geen sin om 'n objektiewe funksie te definieer nie. Daar word algemeen na hierdie tipe verwys as 'n bevredigingsprobleem.

2. Baie objektiewe kenmerke. Dikwels wil 'n gebruiker verskeie verskillende doelwitte gelyktydig optimaliseer. Hulle is gewoonlik onversoenbaar. Veranderlikes wat vir een doel optimeer is dalk nie die beste vir ander nie.

Komponenttipes:

  • 'n Beheerde inset is 'n stel besluitveranderlikes wat die waarde van 'n objektiewe funksie beïnvloed. In 'n produksietaak kan veranderlikes die verspreiding van die verskillende beskikbare hulpbronne of die arbeid wat benodig word insluitelke aksie.
  • Beperkings is verwantskappe tussen besluitveranderlikes en parameters. Vir 'n produksieprobleem maak dit nie sin om baie tyd aan enige aktiwiteit te bestee nie, so beperk alle "tydelike" veranderlikes.
  • Moontlike en optimale oplossings. Die waarde van die besluit vir veranderlikes, waaronder alle beperkings bevredig word, word bevredigbaar genoem. Die meeste algoritmes vind dit eers en probeer dit dan verbeter. Laastens verander hulle veranderlikes om van een haalbare oplossing na 'n ander te beweeg. Hierdie proses word herhaal totdat die doelfunksie sy maksimum of minimum bereik. Hierdie resultaat word die optimale oplossing genoem.

Algorithmes van optimaliseringsprobleme wat vir die volgende wiskundige programme ontwikkel is, word wyd gebruik:

  • Konveks.
  • skeibaar.
  • Kwadraties.
  • Meetkundig.

Google Lineêre Oplossers

Wiskundige model van die optimaliseringsprobleem
Wiskundige model van die optimaliseringsprobleem

Lineêre optimalisering of programmering is die naam wat gegee word aan die berekeningsproses om 'n probleem optimaal op te los. Dit is gemodelleer as 'n stel lineêre verwantskappe wat in baie wetenskaplike en ingenieursdissiplines ontstaan.

Google bied drie maniere om lineêre optimeringsprobleme op te los:

  • Glop oopbronbiblioteek.
  • Lineêre optimalisering-byvoeging vir Google Sheets.
  • Lineêre optimeringsdiens in Google Apps Script.

Glop is in Google ingeboulineêre oplosser. Dit is beskikbaar in oopbron. Jy kan toegang tot Glop kry deur die OR-Tools lineêre oplosser-omhulsel, wat 'n omvou vir Glop is.

Lineêre optimeringsmodule vir Google Sheets laat jou toe om 'n lineêre stelling van die optimeringsprobleem uit te voer deur data in 'n sigblad in te voer.

Kwadratiese programmering

Die Premium Solver-platform gebruik 'n uitgebreide LP/Kwadratiese weergawe van die Simplex-metode met LP- en QP-probleemverwerkingslimiete van tot 2000 besluitveranderlikes.

SQP Oplosser vir grootskaalse probleme gebruik 'n moderne implementering van die aktiewe stel metode met yl om kwadratiese programmering (QP) probleme op te los. Die XPRESS Solver-enjin gebruik 'n natuurlike uitbreiding van die "Interior Point" of Newton Barrier-metode om QP-probleme op te los.

MOSEK Oplosser pas ingebedde "Binnepunt" en outo-dubbele metodes toe. Dit is veral effektief vir losgekoppelde QP-probleme. Dit kan ook die Skaalkwadratiese beperking (QCP) en Tweede Orde Kegelprogrammering (SOCP) probleme oplos.

Multi-operasie berekeninge

Hulle word redelik suksesvol gebruik met die gebruik van Microsoft Office-kenmerke, byvoorbeeld om optimeringsprobleme in Excel op te los.

Algoritmes vir optimaliseringsprobleme
Algoritmes vir optimaliseringsprobleme

In die tabel hierbo is die simbole:

  • K1 - K6 - klante wat goedere moet verskaf.
  • S1 - S6 is potensiële produksieterreine wat hiervoor gebou kan word. Kan geskep word1, 2, 3, 4, 5 of al 6 liggings.

Daar is vaste koste vir elke fasiliteit gelys in kolom I (Regstel).

As die ligging niks verander nie, sal dit nie tel nie. Dan sal daar geen vaste koste wees nie.

Identifiseer potensiële liggings om die laagste koste te kry.

Oplos van optimaliseringsprobleme
Oplos van optimaliseringsprobleme

In hierdie toestande is die ligging óf gevestig óf nie. Hierdie twee toestande is: "WAAR - ONWAAR" of "1 - 0". Daar is ses state vir ses liggings, byvoorbeeld, 000001 is op slegs die sesde gestel, 111111 is op almal gestel.

In die binêre getallestelsel is daar presies 63 verskillende opsies van 000001 (1) tot 111111 (63).

L2-L64 moet nou {=MEERVOUDIGE BEDRYF (K1)} lees, dit is die resultate van alle alternatiewe oplossings. Dan is die minimum waarde=Min (L) en die ooreenstemmende alternatief is INDEX (K).

CPLEX heelgetalprogrammering

Soms is 'n lineêre verhouding nie genoeg om by die kern van 'n besigheidsprobleem uit te kom nie. Dit is veral waar wanneer besluite diskrete keuses behels, soos om 'n pakhuis op 'n sekere plek oop te maak of nie. In hierdie situasies moet heelgetalprogrammering gebruik word.

As die probleem beide diskrete en deurlopende keuses behels, is dit 'n gemengde heelgetalprogram. Dit kan lineêre, konvekse kwadratiese probleme en dieselfde tweede-orde-beperkings hê.

Geheelgetalprogramme is baie meer kompleks as lineêre programme, maar hulle het belangrike besigheidstoepassings. SagtewareDie CPLEX-sagteware gebruik komplekse wiskundige metodes om heelgetalprobleme op te los. Sy metodes behels dat daar sistematies gesoek word na moontlike kombinasies van diskrete veranderlikes deur lineêre of kwadratiese sagtewareverslappings te gebruik om grense op die waarde van die optimale oplossing te bereken.

Hulle gebruik ook LP en ander optimaliseringsprobleemoplossingsmetodes om beperkings te bereken.

Standard Microsoft Excel Solver

Hierdie tegnologie gebruik die basiese implementering van die hoof Simplex-metode om LP-probleme op te los. Dit is beperk tot 200 veranderlikes. "Premium Solver" gebruik 'n verbeterde primêre simpleksmetode met dubbelsydige grense vir veranderlikes. Die Premium Solver-platform gebruik 'n uitgebreide weergawe van die LP/Quadratic Simplex Solver om 'n optimeringsprobleem met tot 2000 besluitveranderlikes op te los.

Grootskaalse LP vir die Premium Solver-platform pas 'n moderne implementering van die eenvoudige en dubbelsimplex-metode toe, wat yl in die LP-model gebruik om tyd en geheue te bespaar, gevorderde strategieë vir opdatering en herfaktorering van matrikse, veelvuldige en gedeeltelike pryse en rotasies, en om degenerasie te oorkom. Hierdie enjin is beskikbaar in drie weergawes (in staat om tot 8 000, 32 000 of onbeperkte veranderlikes en limiete te hanteer).

MOSEK Oplosser sluit primêre en dubbele simpleks in, 'n metode wat ook yl uitbuit en gevorderde strategieë gebruik vir matriksopdatering en "herfaktorisering". Dit los probleme van onbeperkte grootte op, wasgetoets op lineêre programmeringsprobleme met miljoene besluitveranderlikes.

Stap vir stap voorbeeld in EXCEL

Lineêre optimeringsprobleme
Lineêre optimeringsprobleme

Om die optimaliseringsprobleemmodel in Excel te definieer, voer die volgende stappe uit:

  • Organiseer die data vir die probleem in 'n sigblad in 'n logiese vorm.
  • Kies 'n sel om elke veranderlike te stoor.
  • Skep in die sel 'n formule vir die berekening van die teiken wiskundige model van die optimaliseringsprobleem.
  • Skep formules om die linkerkant van elke beperking te bereken.
  • Gebruik dialoog in Excel om Solver te vertel van besluitveranderlikes, teikens, beperkings en verlangde grense op daardie parameters.
  • Laat "Solver" hardloop om die optimale oplossing te vind.
  • Skep 'n Excel-blad.
  • Organiseer die data vir die probleem in Excel waar die formule vir die doelfunksie en beperking bereken word.

In die tabel hierbo is selle B4, C4, D4 en E4 gereserveer om besluitveranderlikes X 1, X 2, X 3 en X 4 voor te stel. Besluitvoorbeelde:

  • Die produkmengselmodel ($450, $1150, $800 en $400 wins per produk) is onderskeidelik in selle B5, C5, D5 en E5 ingevoer. Dit laat toe dat die teiken in F5=B5B4 + C5C4 + D5D4 + E5E4 of F5:=SUMPRODUK (B5: E5, B4: E4) bereken word.
  • Voer in B8 die hoeveelheid hulpbronne in wat benodig word om elke tipe produk te vervaardig.
  • Formule vir F8:=SUMPRODUK(B8:E8, $B$4:$E$4).
  • Kopieer hierdieformule in F9. Dollartekens in $B$4:$E$4 dui aan dat hierdie selreeks konstant bly.
  • Voer in G8 die beskikbare hoeveelheid hulpbronne van elke tipe in, wat ooreenstem met die waardes van die beperkings aan die regterkant. Dit laat jou toe om hulle so uit te druk: F11<=G8: G11.
  • Dit is gelykstaande aan vier limiete F8<=G8, F9 <=G9, F10 <=G10 en F11=0

Veldings van praktiese toepassing van die metode

Lineêre optimering het baie praktiese toepassings as 'n voorbeeld van 'n optimeringsprobleem:

'n Maatskappy kan verskeie produkte maak met 'n bekende bydraemarge. Die produksie van 'n eenheid van elke item vereis 'n bekende hoeveelheid beperkte hulpbronne. Die taak is om 'n produksieprogram te skep om te bepaal hoeveel van elke produk geproduseer moet word sodat die maatskappy se wins gemaksimeer word sonder om hulpbronbeperkings te oortree.

Mengprobleme is die oplossing vir optimaliseringsprobleme wat verband hou met die kombinasie van bestanddele in die finale produk.’n Voorbeeld hiervan is die dieetprobleem wat George Danzig in 1947 bestudeer het.’n Aantal grondstowwe word gegee, soos hawer-, vark- en sonneblomolie, saam met hul voedingsinhoud, soos proteïen, vet, vitamien A, en hul prys per kilogram. Die uitdaging is om een of meer eindprodukte van grondstowwe teen die laagste moontlike koste te meng, terwyl die minimum en maksimum limiete vir hul voedingswaarde gerespekteer word.

'n Klassieke toepassing van 'n lineêre optimaliseringsprobleem is om roetering vir behoeftes te bepaalverkeer in telekommunikasie- of vervoernetwerke. Terselfdertyd moet vloeie deur die netwerk gelei word op so 'n manier dat aan alle verkeersvereistes voldoen word sonder om bandwydtevoorwaardes te oortree.

In wiskundige teorie kan lineêre optimalisering gebruik word om optimale strategieë in nulsomspeletjies vir twee mense te bereken. In hierdie geval word die waarskynlikheidsverdeling vir elke deelnemer bereken, wat die koëffisiënt van ewekansige vermenging van sy strategieë is.

Geen suksesvolle sakeproses in die wêreld is moontlik sonder optimalisering nie. Daar is baie optimeringsalgoritmes beskikbaar. Sommige metodes is slegs geskik vir sekere tipes probleme. Dit is belangrik om hul kenmerke te kan herken en die toepaslike oplossingsmetode te kies.

Aanbeveel: