Ledelse og Erhvervsøkonomi/Handelsvidenskabeligt Tidsskrift/Erhvervsøkonomisk Tidsskrift, Bind 36 (1972)Heuristiske løsningsmetoder ■ deres relation til, og anvendelse i O. R.1 nærværende artikel skal de heuristiske metoders egenart og natur diskuteres. Gennem en beskrivelse af nogle af disse metoder, og ved at give eksempler på anvendelser af disse metoder, vises det - når talen går om anvendelse af disse metoder — at den enkelte metode i sig selv er ret uinteressant, men at det centrale er opbygningen af den sekvens man anvender disse metoder i. Per Villum Hansen *) 1. IntroduktionOperationsanalyse
har nu efterhånden så mange år på bagen, at den Disse tredive år
har heldigvis ikke undgået at sætte deres spor. Mere
Det helt markante træk, og det, der for en stor del har betinget denne udvikling, er datamaten, der explicit ei: draget ind i og har sat sit præg på den operationsanalytiske modeldannelse. Uden på nogen måde at overdrive kan man slå fast, at en væsentlig del af det operationsanalysearbejde, der er udført indtil i dag., ikke kunne have været udført, hvis ikke vi havde haft datamaten til rådighed. Hermed er indiceret, at det er datamaten, der har gjort det muligt at arbejde med, udvikle og løse omfattende og komplekse problemer med store datamængder. Dette er en udvikling på godt og ondt. Godt fordi der virkelig eksisterer problemer med en kompleks natur, som kræver komplekse modeller, for at beskrivelsen kan være adekvat, og hvor løsningen af disse modeller er mindst lige så kompleks som. selve modellen. Ondt, fordi dette hjælpeværktøj kan misbruges, thi det sker ofte, at jo mindre vi forstår af et problem, jo flere variable anvender vi for at (bort)forklare vor usikkerhed. Datamaten leder til denne fristelse, fordi den gør det muligt at få hold på mange variable simultant. *) Amanuensis, cand. mere, Metodeforskningsgruppen, Handelshøjskolen i København. Artiklen indleveret december, 1971. Disse forhold rejser problemer af tilsyneladende forskellig karakter. Forst, selv om vi arbejder med store systemer, og i dette arbejde anvender datamaten som hjaelpevserktej, er der en overgraense for, hvor store problemerne kan vasre, alene pa grund af den tid, det tager pa datamaten. D.v.s. at der er et behov for en reekke beslutningsregler, der hurtigt og effektivt kan reducere dimensionen i problemet. Dernaest, pa grund af den til tider betragtelige regnetid, udvikler vi nye beslutningsregler med det formal at reducere denne. Dette betyder, at vi, i det mindste implicit, har faet lagt et andet indhold i vort optimeringsbegreb, saledes at vi fra at optimere modellen, arbejder hen mod at optimere model plus losning. Endelig kommer det krav, at vi som problemlosere skal kunne forsta den fulde rsekkevidde af vore modelmanipulationer, ogsa for disse komplekse problemers vedkommende. Selv om disse problemer tilsyneladende er af forskellig karakter, har de imidlertid mindst et fælleselement, nemlig at beslutningsreglerne må være enkle af natur. Skal vi hurtigt reducere dimensionen i et problem, må generalisationsgraden være stor, d.v.s. at reglen må være enkel. Skal computertiden reduceres, må antallet af „checkpoints" i hver beregning reduceres, d.v.s. at reglen skal være enkel. Skal vi forstå den fulde rækkevidde af vore modelmanipulationer, må vore datarelateringer ikke være for omfattende, d.v.s. reglen må være enkel. Lad det med det samme være understreget, at selv om disse regler må være enkle, er delte langtfra, snarere tværtimod, ensbetydende med, at det er let at finde regler af denne type, der er relevante og egnede på et vilkårligt, konkret problem. Et sæt regler, der opfylder ovennævnte krav, eller i det mindste synes at opfylde disse krav, går under betegnelsen heuristiske beslutningsregler. I det følgende skal nogle af disse reglers egenart og natur behandles. 2. Om begrebet heuristikBegrebet
heuristisk blev introduceret i operationsanalysen af
Simon og De gav ikke dengang nogen klar definition af begrebet. Selv i dag må vi konstatere, at vi begrebsmæssigt står i samme situation, idet der ikke er nogen forfatter, der har givet en klar definition af begrebet, i det mindste ikke nogen anerkendt definition. Ser vi på
antallet af forfattere, der har anvendt heuristiske
beslutningsregler,er For dem, der har svært ved at acceptere dette synspunkt, kan det fremhæves,at der er ingen, der nogensinde har bragt en klar definition af begrebet operationsanalyse. Alligevel ved vi alle, hvad operationsanalyseer, fordi der efterhånden er så mange, der har arbejdet med operationsanalyse,så vi gennem dette arbejde har fået givet ordet mening. For alligevel at give et indtryk af begrebet heuristisk skal der bringes et udpluk af nogle opfattelser, der er på markedet. Newel, Shaw, Simon
(1958, s. 22). "We use the term heuristic to Kuehn, Hamburger
(1963, s. 644). "Heuristic programs ... an approach
Tonge (1963, s. 126) siger om resultatet af heuristiske: overvejelser: "no guaranty of a satisfactory solution or, often, of any solution." Vazonyi (1967, s. 126). "We do not have an algorithm, so we cannot be assured that we find a solution ... consequently a selected search technique is employed by recognizing patterns of improvements in solutions." Det ses, at fælleselementerne i disse opfattelser er dels, at man explicit forsøger at lære af den information, der kommer på bordet under søgningen, dels at resultatet af disse overvejelser ikke nødvendigvis vil medføre en løsning af en nærmere specificeret art, f. eks. en optimal Kontrastes algoritme og heuristik, har vi, at en algoritme garanterer en optimal løsning, i modsætning til en heuristik, medens der i en heuristik, i modsætning til en algoritme, forsøges indbygget en læremekanisme. Desværre gælder
Tonges ord stadig i dag "... at present this is a body
Dette skyldes, så vidt nærværende forfatter kan se, at vi ikke ved nok om, hvad det vil sige „at lære". Vi ved en masse om, hvad det ikke er, f. eks. akkumulation af facts, akkumulation af metoder, etc. Omvendt ved vi, hvornår et system har lært sig noget, f. eks. når det har ændret adfærd overfor en given impuls. Det, der er imellem disse to situationer, er en dunkelt oplyst blackbox. Manglende kendskab til disse fænomener skal dog ikke afholde os fra at forsøge at trække nogle basale principper ud af rækken af eksempler på anvendelsen af heuristik. Dette at et fænomen er diffust, kan være en egenskab ved fænomenet, og behøver derfor ikke at være en egenskab ved beskrivelsen. 3. MetodekarakteristikaFør end vi går ind
i en beskrivelse af de heuristiske metoder, må vi
Et
beskrivelsessæt, der synes hensigtsmæssigt for vort
formål, er følgende —
problemrepræsentation Vi vil definere
indholdet i disse tre begreber gennem et eksempel,
nemlig Problemrepræsentation: find x, således at
Procedure:
beregn Verifikation:
indsæt ovenstående
udtryk for x i ax2 -j- bx -j- c og vis, at resultatet
bliver Newel (1969), der
har foreslået denne beskrivelsesform, mener, at
4. Nogle heuristiske metoderDe metoder, der er
valgt ud for en nærmere beskrivelse, er "Generate
4.1. GENERATE AND TESTSom termen
indicerer, har metoden to elementer, en generator til
generering I dens mest simple form kan generatoren producere losningsforslag rent tilfasldigt, en art "random walk". Det klassiske eksempel her er abningen af en kombinationslas. Testet kan i dette tilfaelde vaere en konstatering, om doren gar op eller ej. Efterhånden som man lærer sig mere om problemets natur, kan man gå ind og gøre genereringsreglerne mere sofistikerede, udnyttende den viden man har erhvervet, f. eks. ved kun at generere løsningsforslag i en interessant del af løsningsrummet. Vender man sig mod problemløsende systemers løsningsadfærd, vil man ofte notere, at "generate and test" anvendes som præliminær metode, idet anvendelsen af metoden kan give systemet et indtryk af problemets natur. En arkitekt vil f. eks. som oftest starte ud med at lave alternative løse rids af den konstruktion, han arbejder på, vurdere disse, bestemme sig for en af dem, og arbejde videre på dette grundlag, lave nye udkast, etc. Formaliseres
metoden i ovennævnte beskrivelsessæt, har vi: 4.1.1.
PROBLEMREPRÆSENTATIONEN: givet: En
generator der producerer en mængde (X) En løsningsmængde
P find: Elementer i
(X) der tilfredsstiller P(x) 4.1.2. PROCEDURE:
4.1.3.
VERIFIKATION: y er en løsning,
hvis og kun hvis y £ X og P (y) 2) test =>■ y/+
nv fs °g kun hvis P(y) med input /y f 4) generator
->- y felement hvis og kun hvis y G (X) 5) y G (X)
implicerer, at hasndelsen generator -> y/element vil
finde Det ses, at pkt. 5
ovenfor er det kritiske punkt, thi der er ingen garanti
4.2. MATCHMange gange vil
det være således, at man på forhånd kan opstille
Dette kan f. eks.
være en række begrænsninger, der skal tilfredsstilles.
På den anden side kan man f. eks. have en efterspørgselsfaktor, der skal tilfredsstilles, og kan således være interesseret i at undersøge, i hvilket omfang efterspørgselsfaktoren kan tilfredsstilles med de begrænsninger, der eksisterer for en produktionsafdeling. Dette er en typisk „Match"-problematik. Beskriver vi f. eks. begrænsninger ved F og efterspørgselskravene ved X, kan vi undersøge, om X er indeholdt i F, d.v.s. forsøge at „matche" F og X. Der er to forudsætninger, der her må være opfyldt, førend X og F kan matches. Den første er, at de måles i samme dimension. I ovenstående eksempel kan en dimension være timer. Den anden forudsætning er, at det må være muligt at generere delmængder af X og F, således at X og F er identiske, hvis og kun hvis delmængden af X og F er identiske. Denne sidste forudsætning kan i nogle tilfælde være noget problematisk, for der forudsættes additivt funktionssammenhæng uafhængig af den konkrete opdeling af delmængder. I den mest simple form vil metoden som ovenfor beskrevet foretage en simpel sammenligning. Det er imidlertid muligt, hvis denne sammenligning falder negativt ud, at forsøge at transformere X og F over i andre enheder og på dette grundlag foretage en ny match-procedure. For mange tilfadde vil det således være frugtbart at have en transformations vektor |v). Herved forøger man
ikke alene sine chancer for at få en løsning, men
Man kan åbenbart
lære sig noget om X set i forhold til F, i retning
Metoden kan
formaliseret beskrives som følger: 4.2.1.
PROBLEMREPRÆSENTATION: Givet: et saet
variable Find: om Xer
indeholdt iet sæt, defineret af F. d.v.s. find værdier
4.2.2. PROCEDURE:
4.2.3.
VERIFIKATION: Sættet (f,x) er en
løsning, hvis og kun hvis (x)=Xog (f) = Fog
(x) = (f). I 1: sættet
(f,x)/løsning har som nødvendig betingelse sammenligning
II 1: sættet
(f,x)/løsning har som tilstrækkelig betingelse —>
falle II 2:
Sammenligning/alle (x) == alle (f) hvis og kun hvis
generator II 2.1. Generator =>-alle (x), hvis og kun hvis der eksisterer et xl i X som C generator -*- alle (x) hvor xl =&. Generator -> alle (f), hvis og kun hvis der eksisterer et f1 iF som C generator -> alle (f), hvor fl =& 1 2:
sammenligning -> element x— element f, hvis og kun
hvis I 3: test ->
x(v) =f(v)/-|-, hvis og kun I 4: ~ |x,v\
->■ x(v) samt — (f,v) ■-> f(v) implicerer, at hvis
x Pkt. 1.4 er det kritiske punkt, idet del: ses, at selv om både x og f er målelige i v, kan genereringen af x-elementet være en delmængde af x, der ikke matcher med delmængder f af F f. eks. fordi x(v) >f (v) eller x(v)<f(v). D.v.s. afhængig af, hvorledes vi skærer i X og F, hvilke delmængder vi får frem, kan vi få en løsning, subs, ikke en løsning. 4.3. HILL-CLIMBING:Hill-climbing er som navnet indikerer en metode til at finde store værdier i et løsningsrum, f. eks. den optimale løsning. I princippet virker den som generate and testprocedure, men med den modifikation, at den har indbygget en hukommelse, således at den lagrer hele tiden bedst fundne element. Man kan sige, at det er en af de mest elementære optimeringsmetoder. Det enkelte genererede element tilforordnes to egenskaber, nemlig variabel værdien x og en funktionsværdi f (x). Der er i metoden et sæt generatorer (g), der med udgangspunkt i den eksisterende løsning bestemmer, hvor det nye punkt, der skal sammenlignes med, skal findes. Dette sæt af generatorer kan designes på mange måder. F. eks. kan det være en tilfældighedsgenerator, det kan være en gradientgenerator, det kan være en "step length" generator, etc. Der skal ikke her gås ind i en nærmere beskrivelse af disse ting. Formaliseres
metoden, fås følgende: 4.3.1.
PROBLEMREPRÆSENTATION Givet: en
sammenligning af de to elementer i et sæt |x} for at
bestemme, Find: det største
xG{x} 4.3.2. PROCEDURE
4.3.3.
VERIFIKATION: x£X er den bedste
løsning, hvis og kun hvis — xl>x i {X}, hvor 1: bedste
løsning/x hvis og kun hvis sammenlign./X->xl<x
2:
sammenlign/X->xl<x, hvis og kun hvis operator q(x)
=x 3: operator q (x)
=x, hvis og kun hvis generator—>*q/q(x) 4:
generator->q/q(x) =x, hvis og kun hvis q/q(x) =x€
"fa} 5:
q/q(x)=xG{cl}^mP^cerer> at fof eller senere vil der
blive genereret Det kritiske punkt her bliver pkt. 5, idet det, selv om der for eller senere vil blive genereret en generator, og hvor q(x) for eller senere vil producere det omtalte x, ikke er givet, at disse haendelser begge vil ske indenfor en realistisk tid. Ovennævnte
metodegennemgang bygger især på Newel (1969) og
5. Diskussion af de omtalte metoderSom det vil fremgå af ovennævnte gennemgang, er hver enkelt metode alene meget elementær og enkel, så enkel og elementær at hvis den står alene i ovennævnte form, vil den have meget begrænsede anvendelsesmuligheder til alle praktiske formål. Ideen er
imidlertid, at de generatorer og operatorer, der er
nævnt, kan Derudover vil det i praktiske situationer være således, at ikke blot en af disse metoder, men et hierarki i forskellige udformninger anvendes. Hierarkiet bliver designet på en sådan måde, at søgeprocessen bliver mere og mere centreret omkring det punkt, hvor den optimale løsning ligger, d.v.s. at man har en stedse konvergens mod den optimale løsning, men stadig ingen garanti for at nå den. Selv om generatorer og operatorer designes specielt til det foreliggende problem, og selv om der skabes et hierarki af disse metoder, ændrer dette ikke på den enkelte metodes struktur., den bevarer stadig sin enkelhed. D.v.s. at vi ved en sådan metodeanvendelse får honoreret alle de krav om enkelhed, vi opstillede i begyndelsen af denne artikel. 6. Heuristisk losning af et produktionsplanlægningsproblemTil illustration
af, og som en slags dokumentation for ovenstående,
Det produktionsplanlægningsproblem, der er refereret til, er beskrevet i Villum Hanse?2 (1969) og er i korthed følgende: Under forudsætning af en kendt deterministisk efterspørgsel for produktet i (1 = 1,2,. . . .p), der må tilgodeses, ønskes produceret en produktionsplan, hvori der tages hensyn til, at det enkelte produkt skal behandles på j maskiner (j = 1,2,. . . .n), hver med en kendt og given kapacitet. Interessehorisonten er t (t— 1,2,. . . .T) perioder, Lidt mere
formaliseret kan problemet udtrykkes min: hvor Yit = antal
producerede enheder af produkt i, i delperioden.
Xit — antal set-up
for produkt i, i delperiode t 0; = variable
omkostning for produkt i dit =
efterspørgsel for produkt i, i delperiode i bjj = set-up tid
for produkt i på maskine j ajj =
produktionstid for produkt i på maskine k Cj = kapacitet til
rådighed på maskine j i delperiode t T = antallet af
delperioder p = antallet af
produkter Kriteriefunktionens første led udtrykker, at lageromkostningerne, som er en funktion af antallet af set-up, skal minimeres. Det andet led udtrykker, at givet at hvis der ikke er kapacitet i en delperiode til dækning af efterspørgslen, skal det produkt, der er billigst, målt i lageromkostninger, flyttes tilbage i tid, for produktion der. Den første
restriktion er en kapacitetsrestrikion. Den anden
restriktion fortæller, at efterspørgslen skal honoreres.
For en nærmere
diskussion af denne formulering se Villum Hansen
Til løsning af det
formulerede problem blev der udviklet følgende
I Det ses, at der her er anvendt en mal:chprocedure. Vi kender den kapacitet, der er til radighed CRj (svarer til F i afsnittet om matchprocedure), og vi onsker at undersogc, om en del-periodes eftersporgsel kan daekkes af samme delperiodes produktion. D.v.s. at vi ma forst finde det kapacitetskrav CPKjt • dette kraever (svarer til xi afsnittet om matchproceduren), og derefter matche de to storrelser CRKjt og CRj. Testet er her simpel substrakticm, og vaerdien er tidsenheder. I generatorerne anvendes teknikken explicit enumeration. Match-resultatet gemmes i CRK-Matrisen, d.v.s. den kapacitet, der er tilovers efter matchproceduren malt med fortegin. II Pa matchresultatet proves en generate and test procedure, for at afslore om der er negative elementer. Er der ikke det, fortsaettes til pkt. 111. Er der negative elementer, applikeres hill-climbing metoden for at finde det produkt, hvis produktion skal flyttes, for at elementerne i CRKjt kan blive ikke-negative. Operatoren q, der bestemmer, hvilke x der skal genereres, ses at vaere bestemt af en kombineret match og generate and test procedure, d.v.s. hvorvidt dix og a{ j liver for sig er storre end nul, samt om der kan findes et /, hvor de begge er storre end nul. Testet, der afgor,
hvilket i der skal vaelges (det /', der minimerer andet
11l Var der ikke
negative elementer i CRKj, kunne optimeringsprocessen
Operatoren findes
gennem en generate and test procedure (bjj>o).
Udover disse
heuristikker, der er nsevnt: ovenfor, kommer en raekke
vil blive nul, under hensyn til de nævnte hill climbingprocedurer. Nar CRKj's elementer er nul, skal vi sikre os, at vi har en næroptimal løsning.Dette gøres ved at beregne skyggepriser for de enkelte delperioder SHPt. IV Er forskellen i disse skyggepriser stor, er det ikke en næroptimal løsning, hvorfor vi må forsøge at nivellere skyggepriserne. Dette gøres ved at flytte produktion fra de perioder med høj skyggepris til de perioder med lav skyggepris. Proceduren, der anvendes, er en hillclimbing-procedure med testfunktionen o-Ja.^. Resultat af denne hillclimbing-procedure testes ved at generere nye skyggepriser SHP1 og sammenligne disse med de gamle. Opnås en forbedring, implementeres denne i den foreløbige løsning, de heraf nødvendiggjorte ændringer noteres, og der springes tilbage i hierarkiet af heuristikker, og optimeringen fastsættes fra dette nye punkt. Før eller senere
vil forskellene i skyggepriserne være så små, at det for
Ovenstående
heuristikker er programmeret, og der er foretaget en
testkørsel Med hensyn til
løsningen giver heuristikløsningen kun garanti for en
Man må så afveje
kort kørsel fnæroptimal løsning med lang kørsel f
7. KonklusionOvenstående
eksempel viser, at det er muligt selv ved anvendelsen af
ning,induktiveheuristikker, lærende heuristikker. Fællos for disse er, at de hver for sig kun har været anvendt: et begrænset antal gange på meget simple problemer. Det har således ikke været muligt at finde træk i disse metoder, der kan betitles basale kendetegn. Før eller senerevil erfaringsmaterialet være så stort, at det bliver muligt, således at man vil komme i den situation, at mange nikker samstemmende med Newell ihukommende hans ord i 1958 "Heuristic problem Solving: the next advance in operations research". 8. ReferencerDzielinsky, Baker
and Marine, Kuehn, A. and
Hamburger, M., Newell, A., Shaw,
J. and Simon H. A., Newell, A.,
Tonge, F.,
Tonge, F., Vazoyni, A., "Computer aided planning, command and control" i Fisk.(ed), The psychology of management decisions, Studentlitteratur, Lund 1967. Simon, H. A. and
Newell, A., Wheeling, R. F.,
Hansen, Villum,
|