Problemes d'optimització: concepte, mètodes de solució i classificació

Taula de continguts:

Problemes d'optimització: concepte, mètodes de solució i classificació
Problemes d'optimització: concepte, mètodes de solució i classificació
Anonim

L'optimització us ajuda a trobar el millor resultat que aporti beneficis, redueix els costos o estableix un paràmetre que provoca errors en els processos empresarials.

Aquest procés també s'anomena programació matemàtica. Soluciona el problema de determinar la distribució dels recursos limitats necessaris per assolir l'objectiu marcat pel responsable del problema d'optimització. De totes les opcions possibles, és desitjable trobar la que maximitzi (o redueixi) el paràmetre de control, per exemple, benefici o cost. Els models d'optimització també s'anomenen prescriptius o normatius perquè busquen trobar una estratègia factible per al negoci.

Historial de desenvolupament

La programació lineal (LP) funciona amb una classe de problemes d'optimització on totes les restriccions són lineals.

Mètodes per resoldre problemes d'optimització
Mètodes per resoldre problemes d'optimització

Presentant una breu història del desenvolupament de l'LP:

  • El 1762, Lagrange va resoldre problemes d'optimització senzills amb restriccions d'igu altat.
  • El 1820, Gauss va decidirsistema lineal d'equacions amb eliminació.
  • El 1866, Wilhelm Jordan va perfeccionar el mètode per trobar errors de mínims quadrats com a criteri d'ajust. Ara s'anomena mètode Gauss-Jordan.
  • L'ordinador digital va aparèixer el 1945.
  • Danzig va inventar els mètodes simplex el 1947.
  • El 1968, Fiacco i McCormick van introduir el mètode Inside Point.
  • El 1984, Karmarkar va aplicar el mètode interior per resoldre programes lineals, afegint la seva innovadora anàlisi.

LP ha demostrat ser una eina extremadament poderosa tant per modelar problemes del món real com com a teoria matemàtica àmpliament aplicada. Tanmateix, molts problemes d'optimització interessants no són lineals.

Què cal fer en aquest cas? L'estudi d'aquests problemes implica una barreja variada d'àlgebra lineal, càlcul multivariant, anàlisi numèrica i mètodes computacionals. Els científics estan desenvolupant algorismes computacionals, que inclouen mètodes de punts interiors per a la programació lineal, la geometria, l'anàlisi de conjunts i funcions convexes i l'estudi de problemes estructurats especialment, com ara la programació quadràtica.

L'optimització no lineal proporciona una comprensió fonamental de l'anàlisi matemàtica i s'utilitza àmpliament en diversos camps com l'enginyeria, l'anàlisi de regressió, la gestió de recursos, l'exploració geofísica i l'economia.

Classificació de problemes d'optimització

Problemes d'optimització de programació lineal
Problemes d'optimització de programació lineal

Un pas importantEl procés d'optimització és la classificació de models, ja que els seus algorismes de solució s'adapten a un tipus concret.

1. Problemes d'optimització discreta i contínua. Alguns models només tenen sentit si les variables prenen valors d'un subconjunt discret de nombres enters. Altres contenen dades que poden adquirir qualsevol valor real. Normalment són més fàcils de resoldre. Les millores en els algorismes, combinades amb els avenços en tecnologia informàtica, han augmentat dràsticament la mida i la complexitat d'un problema d'optimització de programació lineal.

2. Optimització il·limitada i limitada. Una altra diferència important són les tasques on no hi ha cap restricció de variables. Pot variar des d'estimadors simples fins a sistemes d'igu altats i desigu altats que modelen relacions complexes entre dades. Aquests problemes d'optimització es poden classificar encara més segons la naturalesa de les funcions (lineal i no lineal, convex i suau, diferenciable i no diferenciable).

3. Tasques de viabilitat. El seu objectiu és trobar valors variables que satisfan les restriccions del model sense cap objectiu d'optimització específic.

4. Tasques de complementarietat. Són àmpliament utilitzats en tecnologia i economia. L'objectiu és trobar una solució que compleixi les condicions de complementarietat. A la pràctica, les tasques amb diversos objectius sovint es reformulan en un sol objectiu.

5. Optimització determinista versus estocàstica. L'optimització determinista suposa que les dades perles tasques són completament precises. Tanmateix, en molts temes d'actualitat no es poden conèixer per diverses raons.

La primera té a veure amb un simple error de mesura. La segona raó és més fonamental. Rau en el fet que algunes dades representen informació sobre el futur, per exemple, la demanda d'un producte o el preu per a un període de temps futur. Quan s'optimitza en condicions d'optimització estocàstica, la incertesa s'inclou al model.

Components principals

Tipus de problemes d'optimització
Tipus de problemes d'optimització

La funció objectiu és la que cal minimitzar o maximitzar. La majoria dels tipus de problemes d'optimització tenen una funció objectiu. Si no, sovint es poden reformular perquè funcionin.

Dues excepcions a aquesta regla:

1. Tasca de cerca objectiu. En la majoria d'aplicacions empresarials, el gestor vol assolir un objectiu específic alhora que satisfà les limitacions del model. L'usuari no vol optimitzar alguna cosa especialment, per la qual cosa no té sentit definir una funció objectiu. Aquest tipus s'anomena habitualment un problema de satisfacció.

2. Moltes característiques objectives. Sovint, un usuari vol optimitzar diversos objectius alhora. Normalment són incompatibles. Les variables que optimitzen per a un objectiu poden no ser les millors per a altres.

Tipus de components:

  • Una entrada controlada és un conjunt de variables de decisió que afecten el valor d'una funció objectiu. En una tasca de producció, les variables poden incloure la distribució dels diferents recursos disponibles o la mà d'obra necessàriacada acció.
  • Les restriccions són relacions entre les variables de decisió i els paràmetres. Per a un problema de producció, no té sentit dedicar molt de temps a cap activitat, així que limiteu totes les variables "temporals".
  • Solucions possibles i òptimes. El valor de la decisió per a les variables, sota les quals es compleixen totes les restriccions, s'anomena satisfaciable. La majoria dels algorismes primer el troben i després intenten millorar-lo. Finalment, canvien les variables per passar d'una solució factible a una altra. Aquest procés es repeteix fins que la funció objectiu arriba al seu màxim o mínim. Aquest resultat s'anomena solució òptima.

S'utilitzen àmpliament els algorismes de problemes d'optimització desenvolupats per als programes matemàtics següents:

  • Convex.
  • Separable.
  • Quadratic.
  • Geomètric.

Solutors lineals de Google

Model matemàtic del problema d'optimització
Model matemàtic del problema d'optimització

Optimització o programació lineal és el nom que es dóna al procés computacional per resoldre de manera òptima un problema. Es modela com un conjunt de relacions lineals que sorgeixen en moltes disciplines científiques i d'enginyeria.

Google ofereix tres maneres de resoldre problemes d'optimització lineal:

  • Glop biblioteca de codi obert.
  • Complement d'optimització lineal per a Fulls de càlcul de Google.
  • Servei d'optimització lineal a Google Apps Script.

Glop està integrat a Googlesolucionador lineal. Està disponible en codi obert. Podeu accedir a Glop mitjançant l'embolcall de solucionador lineal d'OR-Tools, que és un embolcall per a Glop.

El mòdul d'optimització lineal per a Fulls de càlcul de Google us permet fer una declaració lineal del problema d'optimització introduint dades en un full de càlcul.

Programació quadràtica

La plataforma Premium Solver utilitza una versió ampliada LP/Quadratic del mètode Simplex amb límits de processament de problemes LP i QP de fins a 2000 variables de decisió.

SQP Solver per a problemes a gran escala utilitza una implementació moderna del mètode de conjunt actiu amb dispersió per resoldre problemes de programació quadràtica (QP). El motor XPRESS Solver utilitza una extensió natural del mètode "Interior Point" o Newton Barrier per resoldre problemes de QP.

MOSEK Solver aplica "Inside Point" integrat i mètodes dual automàtic. Això és especialment eficaç per a problemes de QP poc acoblats. També pot resoldre els problemes de restricció quadràtica d'escala (QCP) i de programació de con de segon ordre (SOCP).

Càlculs multioperacions

S'utilitzen amb força èxit amb l'ús de les funcions de Microsoft Office, per exemple, per resoldre problemes d'optimització a Excel.

Algorismes per a problemes d'optimització
Algorismes per a problemes d'optimització

A la taula anterior, els símbols són:

  • K1 - K6: clients que necessiten proporcionar productes.
  • S1 - S6 són llocs de producció potencials que es podrien construir per a això. Es pot crear1, 2, 3, 4, 5 o les 6 ubicacions.

Hi ha costos fixos per a cada instal·lació enumerada a la columna I (Correcció).

Si la ubicació no canvia res, no comptarà. Aleshores no hi haurà costos fixos.

Identifiqueu ubicacions potencials per obtenir el cost més baix.

Resolució de problemes d'optimització
Resolució de problemes d'optimització

En aquestes condicions, la ubicació s'estableix o no. Aquests dos estats són: "VERTADER - FALS" o "1 - 0". Hi ha sis estats per a sis ubicacions, per exemple, 000001 s'estableix només en el sisè, 111111 s'estableix en tots.

Al sistema de nombres binaris, hi ha exactament 63 opcions diferents de 000001 (1) a 111111 (63).

L2-L64 ara hauria de llegir {=OPERACIÓ MÚLTIPLE (K1)}, aquests són els resultats de totes les solucions alternatives. Aleshores el valor mínim és=Min (L) i l' alternativa corresponent és INDEX (K).

Programació d'enters CPLEX

De vegades una relació lineal no és suficient per arribar al cor d'un problema empresarial. Això és especialment cert quan les decisions impliquen opcions discretes, com ara obrir o no un magatzem en una ubicació determinada. En aquestes situacions, s'ha d'utilitzar la programació d'enters.

Si el problema implica eleccions tant discretes com contínues, és un programa d'enters mixt. Pot tenir problemes quadràtics lineals i convexos i les mateixes restriccions de segon ordre.

Els programes enters són molt més complexos que els programes lineals, però tenen aplicacions empresarials importants. ProgramariEl programari CPLEX utilitza mètodes matemàtics complexos per resoldre problemes de nombres enters. Els seus mètodes impliquen la recerca sistemàtica de possibles combinacions de variables discretes utilitzant relaxacions de programari lineals o quadràtiques per calcular límits del valor de la solució òptima.

També utilitzen LP i altres mètodes de resolució de problemes d'optimització per calcular les restriccions.

Solucionador estàndard de Microsoft Excel

Aquesta tecnologia utilitza la implementació bàsica del mètode Simplex principal per resoldre problemes de LP. Està limitat a 200 variables. "Premium Solver" utilitza un mètode simplex primari millorat amb límits de doble cara per a variables. La plataforma Premium Solver utilitza una versió ampliada del solucionador LP/Quadratic Simplex per resoldre un problema d'optimització amb fins a 2000 variables de decisió.

El LP a gran escala per a la plataforma Premium Solver aplica una implementació d'última generació del mètode simple i doble simple, que utilitza l'esparsa en el model LP per estalviar temps i memòria, estratègies avançades d'actualització i matrius de refactorització, preus i rotacions múltiples i parcials, i per superar la degeneració. Aquest motor està disponible en tres versions (capaç de gestionar fins a 8.000, 32.000 o variables i límits il·limitats).

El solucionador MOSEK inclou simplex primari i dual, un mètode que també aprofita la dispersió i utilitza estratègies avançades per a l'actualització de matrius i la "refactorització". Soluciona problemes de mida il·limitada, eraprovat en problemes de programació lineal amb milions de variables de decisió.

Exemple pas a pas a EXCEL

Problemes d'optimització lineal
Problemes d'optimització lineal

Per definir el model de problema d'optimització a Excel, seguiu els passos següents:

  • Organitza les dades del problema en un full de càlcul de forma lògica.
  • Seleccioneu una cel·la per emmagatzemar cada variable.
  • Creeu a la cel·la una fórmula per calcular el model matemàtic objectiu del problema d'optimització.
  • Creeu fórmules per calcular el costat esquerre de cada restricció.
  • Utilitzeu els diàlegs d'Excel per explicar a Solver les variables de decisió, els objectius, les restriccions i els límits desitjats d'aquests paràmetres.
  • Executeu "Solver" per trobar la solució òptima.
  • Crea un full d'Excel.
  • Organitza les dades del problema a Excel on es calcula la fórmula per a la funció objectiu i la restricció.

A la taula anterior, les cel·les B4, C4, D4 i E4 s'han reservat per representar les variables de decisió X 1, X 2, X 3 i X 4. Exemples de decisió:

  • El model de combinació de productes (450 USD, 1150 USD, 800 USD i 400 USD de benefici per producte) s'ha introduït a les cel·les B5, C5, D5 i E5, respectivament. Això permet calcular l'objectiu a F5=B5B4 + C5C4 + D5D4 + E5E4 o F5:=SUMPRODUCT (B5: E5, B4: E4).
  • A B8 introduïu la quantitat de recursos necessaris per fabricar cada tipus de producte.
  • Fórmula per a F8:=SUMAPRODUCTE(B8:E8, $B$4:$E$4).
  • Copia aixòfórmula en F9. Els signes de dòlar a $B$4:$E$4 indiquen que aquest interval de cel·les es manté constant.
  • A G8 introduïu la quantitat de recursos disponible de cada tipus, corresponent als valors de les restriccions de la dreta. Això us permet expressar-los així: F11<=G8: G11.
  • Això equival a quatre límits F8<=G8, F9 <=G9, F10 <=G10 i F11=0

Camps d'aplicació pràctica del mètode

L'optimització lineal té moltes aplicacions pràctiques com a exemple d'un problema d'optimització:

Una empresa pot fabricar diversos productes amb un marge de contribució conegut. La producció d'una unitat de cada element requereix una quantitat coneguda de recursos limitats. La tasca és crear un programa de producció per determinar la quantitat de cada producte que s'ha de produir perquè els beneficis de l'empresa es maximitzin sense infringir les limitacions de recursos.

Els problemes de mescla són la solució als problemes d'optimització relacionats amb la combinació d'ingredients en el producte final. Un exemple d'això és el problema de la dieta estudiat per George Danzig el 1947. Es donen una sèrie de matèries primeres, com la civada, la carn de porc i l'oli de gira-sol, juntament amb el seu contingut nutricional, com proteïnes, greixos, vitamina A, i el seu preu per quilogram. El repte és barrejar un o més productes finals a partir de matèries primeres al menor cost possible tot respectant els límits mínims i màxims del seu valor nutricional.

Una aplicació clàssica d'un problema d'optimització lineal és determinar l'encaminament per a les necessitatstrànsit a les xarxes de telecomunicacions o de transport. Al mateix temps, els fluxos s'han d'encaminar a través de la xarxa de manera que es compleixin tots els requisits de trànsit sense infringir les condicions d'ample de banda.

En teoria matemàtica, l'optimització lineal es pot utilitzar per calcular estratègies òptimes en jocs de suma zero per a dues persones. En aquest cas, es calcula la distribució de probabilitat per a cada participant, que és el coeficient de barreja aleatòria de les seves estratègies.

No és possible cap procés empresarial reeixit al món sense optimització. Hi ha molts algorismes d'optimització disponibles. Alguns mètodes només són adequats per a certs tipus de problemes. És important poder reconèixer les seves característiques i seleccionar el mètode de solució adequat.

Recomanat: