• No results found

OR and AI approaches to decision support systems

N/A
N/A
Protected

Academic year: 2021

Share "OR and AI approaches to decision support systems"

Copied!
36
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

OR and AI approaches to decision support systems

Citation for published version (APA):

Hee, van, K. M., & Lapinski, A. K. (1987). OR and AI approaches to decision support systems. (Designing decision support systems notes; Vol. 8702). Technische Universiteit Eindhoven.

Document status and date: Published: 01/01/1987 Document Version:

Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website.

• The final author version and the galley proof are versions of the publication after peer review.

• The final published version features the final layout of the paper including the volume, issue and page numbers.

Link to publication

General rights

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

• You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement:

www.tue.nl/taverne Take down policy

If you believe that this document breaches copyright please contact us at: openaccess@tue.nl

providing details and we will investigate your claim.

(2)

OR AND AI APPROACHES TO DECISION

SUPPORT SYSTEMS

by

K.M. van Hee

and

A. Lapinski

EINDHOVEN UNIVERSITY OF TECHNOLOGY

NFl 11.87/02

Department of Mathematics and Computing Science

P.O.

Box 513

5600 MB EINDHOVEN, The Netherlands

September 1987

(3)

OR and AI approaches to decision support systems

by

Kees M. van Hee and Antek Lapinski

Department of Mathematics and Computing Science Eindhoven University of Technology

1. Abstract

First the concept of a decision support system (dss) is described. Then the O~-approach, in w~ich the development of a network of models forms the kernel, is Riven. An ~xample illustrates t~is approach. Then, architectures of a dss according to the OR-approach and the AI-approach arc given. Aften>'arris an AI-approach is considered, in which an (ahstr<lct) dss machine

is described that can be tuned to specific decision sl tuations. Finally the applicability of this approach is illustrated with an example.

(4)

2. The concept of ~ decision support system.

Decision support systems (dss) may be considered as a class of

expert systems (cf. [SoR4 p.280]).

Before we Rive our definition of a dss, we will consider some

definitions of expert systems first.

A

compact definition is due

to [Ja86]:

"An expert system is a computing system capable of representing and reasoninR about some knowledge-rich domain with a view to sol vine problems and r,i ving advi self.

Systems that satisfy our definition of dss also fulfil Jackson's definition and therefore these systems may be called expert systems.

In the definition of Jackson an expert system is characterized by

the tasks it may fulfil, hence by its functional behaviour. On

the other hand expert systems art:! samet imes characterized by

their architecture. Accorrlinr, to that approach an expert system is made of a kno\·lledr.e base, i.e. a set of rules and facts which is the SBlae as a set of formulas in some lo~ic. and an inference

machine which performes deductions using a knowledge base and

infercnc~ rules. A shell consists of a knowledge base manaRcment l;ystem, an inference machine and a user interface. To create an expert system one has to fill a shell with facts and rules. Sometimes a dss has this architecture, but many dss's have a rlifferent structure. Therefore some authors (cf.[ Re83]) consider an expert systen as a special kind of dss.

t'e consider a dss as a subsystem of an information system and therefore we first define information systems. An information system ful(ils two tasks for some target system. Examples of target systeTils, also called object systeTils. are companies as a whole, departments of companies and small production units. The tasks an information system performs are: monitoring and control of state transitions of the tarr,et system.

An information system may consist of a human organisation and

conput~r systems. Large parts of the monitorin~ task are nowadays

performed by computer systems. The control task is often

performed by persons, called decision makers. Resides t~e

monitoring task COl:lputer systems assist decision makers by reporting and analysing the registered information to obtaIn knowledge of thp mechanisms of the target system.

(5)

A.dss is a computerized part of an information systems that consults decision makers with their control task by :

1. Computing the effects of actions 'that the decision maker proposes. Ue call this: evaluation of actions. 2. Generating of actions that optimize some criterion

function, chosen hy the decision maker.

Often the evaluation and ~eneration of actions proceeds in an iterative way. For the evaluation of actions there are evaluation functions. These functions are defined by the decision maker in the ope rat ional phase of the system, or they are defined by the desi,;ner of the dss in the desir;n phase.

~~e assume the ranges of these functions are some totally

ordered sets (sometimes we assume that it is the set of real nuobers). Often the evaluation functions are conflicting. T\oIO pvaluation functions E) and E2 are said to be con[lictin~ if there exist two actions al and a2 such that

£1 (al)

<

El (a2) nnd E2 (al)

>

[2 (a2)'

There are several ways to deal with stich a problem. One way is to define some linear combinations of the evaluation functions and for eAc~ one some bound. Then one of the combinations has to be optimized under the constraint that the other linear combinations don't exceed their bound. A faci 1 i ty to help the decision maker i~ choosing these linear coo~inations and bounds is called a fa ell ity for multicriteria analysis anr! is often considered to be an essential facility of a dss. Another feature of n dss is a

r:H:il ity For sensitivity analysis. TIl(' l'V,l1 l l : ' l t i o n of tlw "ff('l"t of ;Ill :1C'tioll r"'lllirl's :1 m:lth"lOn! ical f\odpl

or :\

part of till'

targfo't s)·tt·m.

Such a model contains parameters that are obtained from several resources, such as estimates based on historical data of the target system or hypotheses from a deci.sion maker. To get confi(~ence i'l tlee advises of a dss a decision maker wants to SCI'

t11C inf1l1l>nces I.f variations of parameter values for parameters he i s not sur e 0 f •

This is called sensitivity analysis.

Of course a dss hilS to have an adequate user interface whic't allows the decision naker to update parameters, to retrieve and compare already cooputed Actions and their effects and to control the evaluation Rnd generation processes.

Dss are used for operational planning anu strategic plannin~

(6)

bofh. The first type of planni~fl requires the optimal assignment

of resources. Typical examples are jobshop planning and vehicle routing. The second type of planning requires the optimal

dcter~lnation of capacities of resources, such as the volump and locations of depots.

A dss for operational planning is used frequently while a dss for strategic planning is used incidentally. This difference reflects

in different architecture of human Interfaces •

. ,\

(7)

3. Models in decision support systems

The use of operation.:ll research (or) techniques to assist decision makers is much older than the field of dss.

Traditionally OR-specialists analysed the decision situation and selected or designed a mathematical model to describe the set of feasible actions and their effects.

Then they designed algorithms to compute actions that are optimal with respect to some criterion, for instance a linear combination of effects. Finnlly th~y paid attention to the system-design. Hence in this phase they cl{'signed a database for parameters, actions and their effects, and a user interface. In the traditional approach it did not make much difference if the system was used by the OR-sp{'cialist AS an intermediary between

the decision maker and the model, or by the decision maker itself. In the last case the system should be more faultproof t ha n in the fir s tea s e. In fa c t the 0

r:. -

s p e cia lis t mad e a s y s t c m to automatize his own work instead of a system to assist a decision maker. At the end of the seventies OR-specialists changed thdr views. The dss-concept as described in section 2 was born. A system that could assist a decision maker without interference of an OR-specialist became the tarRet of their desir;n efforts. Optimization \,ras no longer a r,oa1 as such, however it became an approach to generate actions that could be considered as proposals to a decision naker. The dss has to propose actions that satisfy the needs of the decision naker and not in the first place some abstract criterion.

Nowadays adaptability of a dss for changes in the decision situation is on~ of thp most important characteristics of a dss. C:onsi.ier a dss in which sane constraint on feasib1e actions is described by a linear inequality. Suppose that the structure of the decision situation chan3es such that this constraint has to be replaced by a quadrat j c inequal ity. Often a dss can't accept such a change without a serious modification of the model and the software. A lot of dss in practice had a short life accorrling to this kind of problems.

There is a tradeoff between adaptability and efficiency of a dss. For the generation of actions usually algorithms are used that exploit the structure of the model of the decision situation, for instance if the l:1odel is a linear program. Howev('!l', to obtain a hi:~h df'p;rpC' of ad<lptahility these nl~orlthns mnst llSC as less as

possible of str .... ctural details of the model that arc expected to

(8)

be' charged in future.

The types of models that are used to build dss's are simulation models, queuein~ ~odels, linear and nonlinear programming ~odelst conhinatorial optimization ~odels and Markov decision models. The first two type5 are mainly used for evaluation of actions while the other models are used to generate actions. Time will almost always ~lay a role in a decision situation. Sometimes however it is not necessary to represent time in a model. For instance if the decision maker has to take a decision for only one planning period and if the effect of this decision will not influence the decision situation after that period, time will play no role. Such decision situations can be called stationary. If a model is developed for a stationary decision situation it is usually difficult to adapt the model if it turns out that the decision situation is M-stationary.

It seldon occurs that a decision situation is adequately des-cribed by only one model. Mostly decision situations have several Aspects that have to be described by different models, for instance a linear program and a queuering model. If these models describe indepenent aspects of the decision situation the dss will have the same architecture as with one nodel. Only the user-interface and the database serve more models instead of one. nodels in a dss are called independent if they only need the exogenous parameters of decision situation to determine the

effects of actions or the actions themselves. They are called ~ependent if at least one of the models needs a parameter that is cO'l1puted by an"ther nodAl and that does not belon:,: to the

exog(~nous parameters. lJe call these paramet(>rs endogenous

parameters. Dependencies between the endor,enous parameters may be repri:sented by a directed graph, whf're each node represents 11

nodel and each arc is labeled with the narae of an endogenous ~arameter. If this graph is acyclic there is an ordering of model compllt:lt ions such that each mode 1 only needs c!xogenous parameters or a1 ready COl:1putt'd pndor,enoHs parameters;. lIowever if there is a cycle in the Rraph there is a more serious dependency between the models. An example of such a situation is described in the next section. Other examples occur in hierarchical planning situations where at the highest level a capacity is optimized using a resource assi8nment rule from a lower level. However this assignl1ent rule is computed for a given capacity of the resource. In fig. 1 an example is 7,iven. The exogenous parameters as well

(9)

as the endogenous parameters that are not used in other monels are not representf"d.

Figure 1.

A consistency requirement for such a network of models is that

the parameters used in the network form a fix-point for the function formed by the network that maps the set of parameter vectors into itself. In the example the vector <Pp P2' P3' P4>

is a fix-point of the function i f : I'll (P3) ""

<

Pl' P4>' tl2 (PI)

.. P2 and t! 3 (P2' P4) = P3'

Often ther~ are no analitics1 properties of this function, such

hounds on derivativps know. One only may compute the function

value for sone parB~eter vector and each evaluation may be very costly. There are many techniques for the determination of fix-points; however many of them are infeasible for the situation we sketched. In practice the nethod of successive approximations (for n=O,1,2, •• :Qn+I=T{qn) .1nd '10 is sone start vector and T the function for~ed by the network) often converges. In case the parameter space forms a lattice it can be proved that if the function T is continuous from this parameter space to itself, the convergence is justified by Tarski's fixed point theorem

(cf. [TaSS}).

(10)

4.Example ~ dss for ~ labourpool.

In this section ue consider an example of a dss that reflects Ina n y 0 f t h (' asp e c t s '" e m (~ n t ion f~ d i n sec t i'o n 3 • For a nor c

d~tailed description of this dss we refer to [He861.

Consider a grou~ of conpanies or departments havIng the same type of work and rather high variation of their daily workload. Our exar:1ple ori3inates in a harbour were stevedoring conpanies have ~f3hly varyinB workloads, with almost no correlation between each other. Sl\ch conpanies or depart 1wnts may consider to establish a pool of worker. ~o they will cover their workload with own personel and pool workers.

T~e pool is a non-profit or~Rnisation and ther8fore it can't take the risk of idle ti~p of workers.

The participatinfl conpanies take all share of the pool personel for which they iir<~ I~uarantce. The pool is so divided into guaranteed parts. Each day a conpany may demand its guaranteed part, anrl it will ~et it. However if a conpany wants nore workers and ot~er conpanies don't need their guaranteed part the conpany can get nore \lorkers. If a cOr:lpany does not need its piirt co~~letely, sone workers may be used in other companies. If there ilr":' i.d~(' \·lork,?rs in somp part then th'> :~I\arantf'f'ing company has to pay for tIH'S,-' pf'op1.,.

On thl' otlH'r hand if a cOr.lj>any can't cover its workJoad. hy pool workers then it has to hire people fron outsidf~ the pool, ,,;;ich

is supposed to be Qore expensiv~.

The pool is controlled by a board formed by the particL?atin~ cOr.lpanies. Periodically the board has to consider the p;u-'iranteec parts and the con~i1nips may wish to switch pf'rsonel frol:! thpjr own conpany to the pool and vice versa. The price of a pool \.lorker Ill'r Jay is d0tf'rmineo at the end of a pp.riod by dividing -'ill the cost of the pool by the numb~'r of used labour days. Dai 1y the conpanies put their Jer.lands to the pool and using a complex Rl~orithm the pool mana3ement determines the daily assignments to the companies. The detai Is of this alr,ori.thr.: are not important here, we only note that exaggerating the demands by the cOr.1panies, in onp direction or the other, does not i.nfluencE' the assil,nTilent.

For eacl' company we describe the expf.>cted daily cost, usinr; the following notatIons:

(11)

Hodel for one cocpany

w = a random variable with known distribution expressing the daily workload

b nunber of own \.mrkers, a decision variable,

g = number of poolwork~rs in the guaranteed part, a decision variable

k

=

daily cost of an own worker

p - price of a poolworker per day

q

=

price of an external worker per day

t = assi~ncent of poolwork~rs at some day, a random variable determined by all U's of the companies, B's and G's and an algorithm.

We assume k

<

p

<

q' because otherwise own workers or pool workers would nev~r be used.

Further we def toe:

v

=

(w - b)+, the daily demand of the company for poolworkers; this is also a random variable, note x+= max(O,x)

The exact value of the expected daily cost are k*b + p*g + q* E(v-t)+ - p*E(g-t)+

~lht;'!re C is the pxpectat ion operator induced by the product probability of the daily workload distributions. This formula CAn

be interpreted in the following \~ay. The conpany has to pay its

min workers, and its share in the pool (k*b + p*g). However i f the demand v is lar~er than the assignment t it will hire external workers for q per day. On tJ1(> other hand i f the assignment 1s less than the guaranteed part ~ the company will get bACk the price of

each pool worker for ~-t workers.

If each conpany would know the demand of other cOr.lpanies they

could in theory cOr.lpute this value. However they don't know these distributions for privacy reasons. Therefore they work with

another cost function

k*b + p*g + [p*B + q*(l-n)]*E(v-g}+ - p*E(g-v)+

where B is the probability of getting a worker from another company's part. if needed. It is clear that the second cost function is not equal to the first one. However it is a good appproximation and it has a nice property: it can be optimized

(12)

for each company seperatcly if B is known, because the ~xpected values only depend on the distribution of the company itself.

The companies May estimate 8 from the past. In fact the companiAs determine their policy, i.e. their determination of the desired b and Z using th!) second cost function. Therefore we use i t in the dss as well. There is also another reason.

The exact cost function, given all the workload distributions is vL'ry time consumin~, si.nce' for ('ach vector of hand g valu('s we can only computf~ the cost by running a simulation program. So each evaluAtion of a simultaneous decision (i.e. the vector of b anei g values) is very time consuming itself. lIence a simultaneous optimizAtion over all companies, for instance minimizing the sum of the expected daily cost is not feasible in an intpractive system.

The poolboard will determine for a new period the b and ~ values of the companies, based on the estimated workload distributions in the followinR way. Note that these workload distributions are kept secrf"t to the board members. The 13 values and the price p are computed by a si.mulation model, that given hand fl values, simulates the pool for one or two years. The price p is computed as the salary cost of the workers plus a share in the overhead of the pool divided by the used labour days. The band g values are determined by minimizinr, the second cost function per company,

i';1 vl'n Band p.

Hence we have here a simple model network.

b, g

OptifTI

t:

B, P

fip,ure 2.

The model called "Opt lm" generates decisions whi Ie the model "Sim" computes the effects of decisions including the exact expected cost per company. The model consistency requirement provides here as a by-product, an intersting optimality criterion for this Multi company game. The vector of b and ~ values is optimal if for e:\ch company the expected cost are ninimized under th£' condition that the intercompany parameters 13 and pare constant. In practice the convergence of the iteration process to get the fix-point of the mode I net\vork is rather quick.

(13)

The

dss can also deal with constraints on

b

and ~ values. such as ranges for these values.

5.

Architecture of decision support systems.

In tllis section we describe. using dataflow diagrams, the structure of a dss constructed following t'he usual OR-approach. Afterwards we charge this structure into a more expert systems architecture.

The term 'archit('cture' points to ~tructure and to the way

constructJn1, an object. \Ie will con~ider both aspects h(·rt::'. In hoth approaches one has to analyse the deci.sion si.tuation first.

The desiener has tn deter~ine the exo~enous parameters. the

"onains of th(~ decision variahlf>s. i.E'. the sets fror:l which tht'

actions may b~ drawn and the endogenous parameters thAt the

d',cision makE'r wants to see to judr,e a decision.

The endo~enous parameters the decision maker wants to see arc cOD;mted by evaluation functions however in the first stage of

desir,n ; only thE' names and types of these paraneters arC'

im~ortant. If there are sevpra] criteria to ~enerate actions each

cri.terion can oftC!n be described by linear combinations of the

~~ndogenous parameters and SOr:lf' bounds (cf. sect ion 2).

If for instance these endor;enous parameters arc el' e2, ••• ,e n

then a criterion has th~ form :

n

L

-t'o

l'i IInc\('r tIl(' condition that .J

i:' I

n

V i € {l.2, •••• m} \""""

L

~ijej

<

i

.1=1

Note that the 0ndogenous variable may not be chospn freely but

are o~ the form :

e·= fl' (p.a)

J .

where [j is an evaluation function. p a data structure that

reJlres(>nt~ exor,enolls parameters find a data structure repr('sentinp; an act ion. lienc.~ we ace in r,ener;tl not dealing here with a 1 inear

programming problem. A set of coefficients

«:.

r

and ~is

called a set of criterion coefficients.

A scenario is a datastructure consisting of values for the

(14)

exogenous parameters, an action, a set of criterion coefficients and values for the f>ndogenous flarar;lf~ters sllch that thf' act ion

optimizes the criterion and the endo~enous parameter values are

the effects of an action. Hence a scpnario des~ribes one instance

of t he decision sf tuat ion.

The decision tnaker will only supply exogenous parameter values and an action or a set of criterion coefficients. The dss will supply the rest.

If the structure of scenarios is determined the designer may perform two tasks In parallel.

One of these tasks is to design a part of the dss we call the

manipulator (cf. fiS. 3). The manipulator consists of a datahase

that logically may be divided into four subdatahases. One containing a set of exogenous parameter values. In each scenario only one set is used. However there may be nany sets. Sone of them may be derived by some filtering process from a database

that monitors thE' target system. Others may be defined by the

decision maker hinsclf of by some external source. The second

subdatabasp. cont!!ins actions. ~Jote that actions, 8S exogenous

par;ll:lcters, may hav(' comph'x databasf' structures. Each action may

11.' us.~d in a scenario. Th(' thi.rd datil base contains sets of

critt!rion coefficient sets. Finally, the fourth subdatahase contains scenarios.

T~e mani~ulator further consists of a database management system to update the four subdatabases and to query thO" scenario

database. The C'J uc ry process or mus tAllow que ries in which

comparisons over several scenarios are possible.

(15)

(1)

I

(2)

J---"'(2)

figure 3. The manipulator, a box r~presents a database,

s bubble a (software) processor. (1) is comin~

fron a monitoring database , (2) represents the decision maker.

The other task to perform is generation and evaluation of

actions. In th~ OR-approach often noclels arE' developed that are

specific for thp decision situation. ~hen th~re is more than one

::Iode:l we gf?t th('> structurl! repres('nted in fig. 4.

Here we have a numher of models all covering sone aspects of the

(h~cision situation. They can often be divided into two groups: l';(Anerators anC: ('vnlu:1tors.

Further there is a processor that takes cart' of the model interfl'lcine an~ the iteration of cOr:1putations to approxlrnat(' a

fix-point [or model consistency. This processor is exchanging

endogenous parameters between the models and a database for these parameters.

(16)

'---~

evaluators ~ generators

figure 4. Architecture specific for one decision situation. (cf. the explanations of fig. 3).

Often it is v~ry expensive to construct a ?,enerator/evaluator part for one decision situation. What we wish is a system that can easily be adopted to a specific decision situation. For decision situations that can be modelled by linear programming models such systems exist. Such a system may be called a dss-~~nprator. The only modelling activity is to create a matrix

~enerator or to generate such a matrix generator (cf.[Om81]).

For other decision situations we also would like to have an architecture in which only the domain specific knowledr,e has to be given to the system to behave as a dss for that situation. In expert systems constructed from a shell this is possible by only addinr, facts and rules to the shell. The domain specific knowledge consists of the data already considered by the description of the mani.pulator, a description of evauation functions and search rules for a ~eneral purpose generator of actions. A sketch of such an architecture is given in fig. 5. There we see three processors. One generator and one evaluator. These processors are used in each specific decision situation. However they have parameters in the form of expressions to specify the evaluat ion functions and search rules to control the search process of the generator. Of course there are two databases to store these expressions and rules and there Is a processor to update these databases. The decision maker will only usc the manipulitor. The designer of a dss will fill and update the expressions and search rules databases. It is the intention that the expre,~ions and search rule definitions are formulated

(17)

in a very hi.eh level language.

figure 5. Architecture of a dss-generator.

In the next section we describe a machine that has in fact this arch i tecture.

(18)

6. An abstract dss machine

We will present here a definition of a dss for a class of combinatorial problems. We will refer to It as an abstract dss machine.

Some of the applications we are interested in are job-shop scheduling, vehicule routing and ship loading.

Sol?ing problems of this kind is equivalent to searching through a graph of plans , i.e. a graph of job-shop schedules, vehicule routes, ship loads, etc. for a plan satisfying a number of ccoutraints and for which some cost function is optimized.

In practice achieving an optimal plan is seldom attainable, since the problems we are concerned with are known to be NP-complete. However by using good heuristics we can hope for finding a suboptimal plan.

The purpose of our dcfintion of a dss is to facilitate specifying and solving such problems. In other words we aim at rpducin~ the cost of constructin/', and modifying a t1ss. At the same timE' we hope to attain acceptable performance of our dss.

1,'" will sketch here the conponents which nake the specification of a problem and later we will discuss the behaviour of the dss machine during the problem solving.

6.1. Informal presentation of the abstract dss machine.

\fuen specifying a problem like job-shop sheduling we need to define

(i) a target system (e.g. a job-shop).

We will define the target system in a first order language namely in first order predicate calculus with function

symbols and equality (cf. [rte64]). \Ie will do so in order to achieve a compact and a pr~cise description of the target system.

We aSSUMe the existence of an associated proof system since it is essential to be able to reason about the target system. It is possible that a suhset of first order predicate

calculus liJ{., Horn Clauses with neeation as failure and a proof

(19)

system based on resolution would be sufficient «(cf. [L1841~

In

Rny case we require a high expressiveness and precision in descrihine relations holding among the elements of the target system as well as in describing the constr~ints on plans. (ii) a f,raph of plans.

By the graph of plans we mean here a graph where nodes define admissible plans and ed~es define manipulations upon plans. In order to apply an nanipulRtion to a plan some constraints upon tIll' :llan !:lllst hold (tlH'Y ;If<' prt'conditions to the

manipulation) :lnd sone constraints !!lust hold on the resulting plan (they are postconditions of the manipulation) (cr. [Ni82J • [Ko79]).

(iii) a predicate defininf, a requirpd plan.

We will call it a goal predicate.

(iv) sane optimi~ation criterion (like R cost function).

(v) a set of functions which administrate the search process and

guide the sparch. Ue will call them selection functions. By cornposine different selection functions we may change the s'~ilrch stratet~y in order to suit the sp;]rch space and our rt:'«,]llirl'l;}pnts \.Jith rr'spect to the quality of the solution, i.e a plan (cf. ['n:nl, [l'c84]).

(vi) a recovery function which defines the behaviour of the dss

mac~ine in case no ~lan satisfyinS the goal predicate is found. One possiblp o~tion is to deliver the best partial plan

constrncted.

As [ t could he expected the dss machine has a memory structure for collecting constructed plans. The menory is divided into two disjoint substructures :

(i) the one which cont<lins the plans that are goinr, to be further transformed. These plans will be called active plans.

(ii) the one which contains the plans that will not he transformed

any This

oore. These plans are called non-active plans.

is so because either all possible

transfornatlons for non-active ~lans have been considered or

(20)

it is not worthwile to transform these plans any further.

\](' will discuss now the behaviour of tl!p r.l;lchin.' dllrin:~ lll.'

problem solvin:~. It is assuued that all the components discuss('{\

so far are ~ivcn.

To start the search for a requir~d plan an initial plan is input

to the In:lchine as the only active plan. The mer-lOry of non-active plans is empty.

An active plan is s~l~ctpd fran the m~mory of the active plans by

the selection function. In the ue:;ining of tIll' s,,'arch tlH' choice is limited to the Initial plan.

The goal predicate is applied now t() the selected plan. In case the predicate evaluates to truf' the plan is output and the

machim' stops.

Otherwise the raachi:1p attempts to transform the selp.ct!~d plan to

a SI·t of n0\J [lans by ap?lying SOIlIt' manip'llation to i t as defined

by tbt· ;~rHrh of plans. In caf;" of ,1 .iob-shop an r:lflnipulation

could Ti\Piln adding an operation to th0 schedule.

Suppos(' a set of new plans is found. The selected plan is

transfered to the non-Active plans and the subset of the new

plans i . added to the memory of the active plans.

~ow the machine selects the plan for further transformations

by applyinG a sel.~ction function to the Rct ive plans.

The search continues unU I t!itht~r a requi reJ plan is found or

the memory structure containin~ thl' active plans is empty.

In th.? lat ter case thO:! recovery ftlnct ion is apr] led. One

?ossible ortion for the r~covery [unction Is to select the best

plan from th0 nO~-Rctivc plans as a partial solution to the

rrob)'!m. Since thl' r-=covery [unct ion i" not a fixed eL~m .. nt of

the dSB machine therefore another behaviour can he specified.

In CHse of a cyc~ic graph the dss machine can enter a loop,

therefore sone loop-detection mechanisn has to be incorporated. How('v.~r we do not dif';CHSS it lwr,'.

(21)

6.2 An abstract dss machine - a formal definition of the components.

An I1bstract .Iss machine is defined as a 12-tuple

<

D, S, A, H, Goal, Tm, T,

Q,

Ra, Rr, Rs, Rm,

>

D a set of tar~ct systems.

Co~l

Trn

A target system is defined by n set of formulas of a first order language.

a set of ele~ents called plans.

a set of elements called manipulations.

(S *)2 - a memory structure.

s

*

n --)

{tru~,false) Co;]i (p , d) II <{: D --) S 'fm(m, d) 'I'm (r:l,d):=

"trut> if P is;} reqldred p1:~n oth{~rwise fals,,".

A constructor function.

II .::J plan constructed in th£' context of tilr memory

m and the tll.rgpt syst('m d"o

i f [~s (I!l) = Ili 1 then Rr(m) .~ lsc

if Goal(Rs(n).d) then Rs(m) else

Tm(i-~T1l(m.r:('wPlans(rn,d». d)

NewPlans : S* n D --) S*

NeHPlans(o, d) = " a set of new pl::ms constructed fron the selected plan Rs(m) and the set of selected manipulations Ra(Q(Rs(m) .d»".

NewPlans(m, rl):= {T(Rs(m),a)

I

aE: Ra(Q(Rs(m), d»}

(22)

T S

*

A

-->

S

T(oId_plan,a) = "n nt~W plan created by applyin~ a manipu!ation a to the- plan old_plan", .

T has to bt' rlefined with respect to a specific application (e.g. a job-shop scheduling or vehlcule routing).

Q

S

*

D --) peA)

Q(s,d) = "a set of manipulations for a given plan s with respect to the tar~et system dt!.

Q

has to be defined for a specific application.

Ra

peA)

-->

peA) ;

a manipulation selection function.

peA) denotes a power-set of A.

V manipulations P(A) R<l(;llilnipulHtions) mtlniplIlntions

Ka function splects a subset of manipulations that arp goin~ to be applied to a Riven ~lan.

~r H --) S ; so called recovery function.

It defines the behaviour of the dss machine in case no plan sattsfyin~ the Goal predicate has been found.

Rr has to be defined for a specific application.

P.s !I --) S

Note:

Rs (n)

=

"a plan seli'cted fron thc' :pmory m".

Rs is def!~cd in the context of a specific search strategy as it is illustrated later by examples.

",

11

*

S' --) ~·I ; a t1eoory update :-unction.

Rm (m, plans)

=

"a memory rn updated by a sequencE' of plans". R~ is dptined ~ith respect to specific search strategies.

'.1 .. arf' lIsinr, a 1::,,:IH'r ordt'r fllnctional programming lallgua:.~p to define the essential compo~ents of the dss machine.

Sooe conv@ntions concerninr, the syntax and the semantics of the ]anRuage

are ~jven below.T~i~ iR not a formal definition of the lan7.ua~e howev~r.

(23)

For the introduction to functional programminr. sec ref. G184J.

(i) Function symbols start with uppercase and variables start with

1 O\Ol<:~ rease.

(l'i ) "f na~e " (

Pl, ••• ,P2'=

) , " expressl0n . "

A function "fname" ,"ith p;Hamptl~rs Pp".,P2 is oefinrd by nn "('xpr,·s~iion". TIlt' ""xpr"ssion" is !Diltie of n function ap~lic<ltion in a prefix foro or i t is made of " i f tlwn (>1s(''' expression.

(iii) A function application in a prefix form is denoted by

"fnamen(al t • • ' ,a2) wht're al'" .a n are arguments of the function.

As opposed to the function dpfintion the function application is never followed by ' : - ' symbol.

(iv) if then else expression has a form:

If "condition" then "value A" else "value 'B".

It!> meaning is:

i f "condition" is true then the result is "value An otherwise it is "value

Bn.

(v) Lists:

(vi)

< >

is a list (an empty lIst)

If x is a list and v SOOf? vaIlit' tlwn Cons(v,x) is a list.

By conven~ion we write

COIlS(Xp Cons (x2, ••• ,Cons(x n

,<

» •••

»

as (xpx2 •••• ,xn>.

Cons is call~d a list constructor and it is a pri~itive function.

SODe important functions

Firstx : s;'

\

{( >}

- - )

s

slIch thllt

J:'irstx (Cons{x,y»

=

x

Restx : S*

\

{< )}

- - )

s*

such that Restx (Cons(x.y»

=

y

(24)

First :

s*

-->

S

First(list) := if list

=

<> then nil else Firstx(list)

*

*

Rest : S

-->

S

Rest(list) := if list

=

<>

then <> else Restx( list)

*

*

*

Append : S

*

S --> S

Append(listA, listE)

:=

if listA

=

< > then listS else

Cons(Firstx{listA), Appcnd(Restx(listA), listR»)

* .

*

Delete : S ft S

-->

S

nc]ptp(liRt, ~lpn~nt) :=

i r lis l '"

<

>

lIlt' n

< ) ..

h;('

i f Fir!>tx(lisc)

=

l']'~I:\l?nt tllt'n !),'l('tp(I~('stx(]ist). ~lf>l1('nt)

else Cons(Firstx(llst), Del~te(Restx(list). eleQent»

Eval{f, args)

=

"a result of function f applied to arguQents that are i'!).;>raE'nts of th£' list aq,:s".

Eval is a primitivp function.

*

Select: S

*

(S

-->

(true, fals~})

-->

S

Self>ct(list, predic~te) :=

ir

list

=

< >

thpn nil else

i f Eval(predicate, <Firstx(list») then Firstx{list) else

Select(Restx(list), predicate) set abstraction function:

{x

I

x Eo "domain" A Predicate(x)}

means : a set of elelnents of the "donain" such that Predicate(x) evaluates to true. A set is represented as

11 sequl>nce.

The set abstraction is a prinitive function.

(25)

n.).

Specifying the abstract ~ machine

=

search strategies. '.1(' wi Ll show nou how by 31 vi.ng the appropriate definitions of Rm And Rs functions we can chance tile search stratpeies performed by

the function Tm. Ue deal with acycl ic graphs only, therefore no loop-detection mechanism is considered here •

•. ;~~ assum(~ that l1nl~ss stated otherwi.se

Ra (manl~ulat{ons) := mani~ulations (the indentity [unction)

Goal (s,il) := "a predicate defined over S x n"

~r(n) :- nil (thr r~covery function returns nil)

f,.3.l. Depth-first search (dfs).

RI:I

«

Mn , IilO

>'

extensions) :==

<Append (extensions, Rest (m n

»,

Cons (First(nn) • no»

where:

mn a sequence of active plans,

rno a sequence of non-Rctive ~lans, extensions : a sequence of new plans.

6.3.2. llill-clinbinl: (he).

Rm «nn' 1:1

0

>,

t'xtt'nsions) :=

<App~nd (Order (~xtenRlons).

Cons(First(mn ), MO» where:

Order ,,* .') --

>

S

*

R!:'st(m

»,

n

Ordf'r (plans) == fin pl'rmutatil)n or pltll1s stich thnt ror all !-;ubl-iI'(pJPnt (>\"I:'ir>nl!; Pi ;lIld Pi f.\ .. I till: p'-rmlll 'II ifill,

(26)

Pi

>

Pi+l' where) is an ordering relation on S.

\~c call Orrler(plans) an ordt'red perMutation of plans. The orderinr, on S can be constructed on basis of an

~valu3tion function E : S

-->

t

in particular.

6.3.3 8readth-first search.

Rm«nn' mo

>'

extensions) :=

<Append (Rest(nn)' extensions),

Cons(First(mn ), ~o»

6.3.4 Best-first search (bestfs).

Rm «Mn • no>' extensions :=

(Order(Append (extensions, ~est(mn»)'

Cons(First(nn)' no»

0.3.5 • .\ variant of hr>urist:c search.

Ra (!:wnipulations)

=

Se1.ect(nani~ulations, l\a_select)

Rn «nn' no' ex.tt~nSio;ls) :=

<Append (extens{ons, Delete (mn, Rs (.n»)' Cons ( Rs (mn ), DO» when!: Rs select Ra self'ct S --) {true. false} A

-->

{tru~. false}

Rs_select(mn , ~.1an) '= "true i f plan 1.S an element of mn

and it satisfies sone selection criteriut:l otherwise false".

(27)

Ra_select(manipulations, manipulation)

=

"true if manipulation is an element of manipulations and it satisfies some selection criterion otherwise false".

(28)

7. A job_hop scheduler.

A ,40b-shop if; a production system consist inr. of a spt of r:JachinC'!';

capable of pcrforming diffen'nt functions.

A job-shop procl~sses jobs. A job is d{~finC'd by a set of partially ordered tasks. A task is defined as an activity performed on a Ilachine of some type for a specific period of time.

Since a nu~ber of tasks is present in the job-shop possibly competin~ for the machines we have to solve a problem of

assi~ning the tasks to the mac~ines. In other words we have to construct a job-shop schedule that is an assignment of tasks to

th0 machines with respect to some constraints.

Namely a task has to be assigned to a machine of a required type and for a required period of time (such assignement is called operation). The ordcrin8 of tasks as definli'd by the schedul", has

to preserve the partial ordering of tasks within a job. A machine cnnnot be used hy two tasks at the same time. Usually there Rrp some time limits (deadlines) ioposed on the jobs.

Our Joai is to dpfine a Job-shop scheduler as an abstract dss mac~inc. Ue will do so by specifying elements of the 12-tuple discussed earlier.

;k will use a method of forward schedu!ing that can be described

as follows. The schcdul~ng starts at some r:Joment of time t. We construct operations with their begin ti.me equal to t until we cannot continue any further. This may happen when there are no requirAd Machines free or all the tasks whose predecessors were

finished hefore the tir.u' t have been scheduled.

No~ W0 look for a futur~ moment of time p when some of the scheduled tasks is finished. If p is found then we move the

scheduling time forward to p and again we try to construct a new set of op~rations with their beJin tiMe equal to p.

Ue continue the schedulin~ process until all the tasks are scheduled or we n~ach the planning horizon.

,'lll' tar:~et SystE!1:l i.e. il job-shop wi 11 be dc>fined by a set of

formu)as or rirst or(]I'r predicate calculus with function syrabols and equality. 7he synbols used in the definition of thp tRr~et system should not be confused with tht~ symbols used in the

functional language already discussed. The conventions we follow

(29)

are

(i) A. ,v •

-->. <-->. -,

are logical connE'ctives,

y .3 arc quantifiers,

=

is the equality symbol,

<

is the symbol of usual ordering r~lation on N. (ii) predicate symbols start with uppercase,

(iii) variables start with 10wercas0; all variables are quantified,

(iv) function symbols start with lowercase or they an' ,*' or '+'.

Otht!r conponents of the job-shop scheduler are given below. S : A set of schedules.

A schedule is defined by a set of operations (we will call it plan) and by a scheduling time greater or equal to the begin time of the most recent operation in the plan. An operation defines an assiRnement of a task to

a machi,e fron. the ber,in time ti II the end time.

Schedules are represented by tt~rms: schedule(tin.e, plan) and op~rations are represented by terms:

operation(task, job, machine, be~in, end). A A set of manipulations.

There are two classes of manipulations :

manipulations represented by terms move(timex) and manipulations represented by terMS

operation (task, job, machine, begin, end).

move(timex) defines a request to Dove forward the schedullih£ tim~ to ti.mex.

operation(task, job, machine, begin, end) defines

a request to assign the task to the machine fron the be~in time till the end time.

Q

S

*

D --) peA)

Q (s,d) : = {a

I

1 \..: d t- Manipulati.on (s,a)}

Q (s,el) = "a s(~t of all manipulations snch that

Man!pulation(s,a) can be deduced from a target system d. Manipulation is a predicate symbol which appear in d.

~ is a derivability relation for a theory made of d and lo~ical axioms I of the associated proof system.

\Ie 00 \lot discllss IlE're how such a syster.l Ilerforms

(30)

deductions.

d - the set ofaxiOl;Js descrihinr; the target system.

Each axiom is defined informally [ir~t and then formally. Hanipulation (schedule(current_time, plan),

operation (task. job. mAchine, begin, end»

iff

Ittlll~ task helongs to the job and the machine suits the tas'<., and the maC~line is idle within a required period of time from the begin to the end. and all the predt>cessors of the task are finished before the currenl. ti!llf"!".

Y. currl'nt_timc, pl.:ln,task, job, machine, be~in. r;>nd (!·IAnipul.qtion (sch(1dule(cl1rrfmt_tim~, plan),

operation (task, job. machine, begin. end») ( - - )

Is_task(task, Job, machine_type, duration) 1\

IS_l"lachine (machin~, mac'hine_type, spef'd) A.

t:'i;tished_predccessors (current_time, task, job, plan) A

Idle_machine (machine, hegin, end, plan) 1\

)egin = current time A

end

=

(current ti~e + speed

*

duration» A.

~!anipulat ion (schedule (timex, l' lan), nove( timey»

iff

"then.! is no operation(tflsk, job, machinE', be!!,in, pnd) which can be created in the context of the current schedule as defined by schedule(ticex, plan) and timey is the next future noment of tjme w~~n one of the tasks is finished".

Y timex, timey, plan

(Manipulation (schedule (timex, plan), cove(timey» ( - - )

(-,3task, job, machine, begin, end Hanipulation (schedule (timex, plan),

operation (task, job, machine, begin, end» A.

Nextevent (ticex, timey, plan»)

(31)

y. task, job, mAchine_type, duration

Is_task(task, job, machine_type, duration)

iff

"the task belongs to the .~oh and re<']uires a machine of thE' type macl-tine_type for the nominal time: duration".

It is defined by a set of cround atoms.

¥ machine, machine_type, machine_speed Is_rnachine(machine, !';lachine_type, speed)

iff

tithe machine is of the type machine_type and has the speeoc machine_speed".

It is defined by a set of ground atoDS.

Nextevent (timpx, timey, ~lan)

iff

"timey> timex anc' timey defines the first moment of time \.hen some milc;!ne is released by a task".

¥ timex, timey, plan

(~extevent (tinext tiney, plan)

<--)

'3 task, !';lachine, begin, job

(op~ration(task, job, mac~ine. be~in, tiney) ~ plan A

timex

<

timey A

1'3

t. n, j, b, e

(operation't,j,m,b,e) € plan A

b ) t ir.wx h ( t j IJ.c'y

»)

Finished_predecessors (time, task, job, plan) iff

"all thp pr~decessors of thE' task within the job art! finished before the time with respect to the plan".

¥ tine, task, job, plan

(Finished-predecessors (time, task. job. plan)

(-->

¥ taskx

(Predecessor (job, taskx, task)

-->

3 be~inx, bc~iny, mac~ine, ~ndx

(32)

(operation (taskx, job, machine, beginx. endx) £ plan A endx

<

time»)

V taskx. tasky, job

Predecessor (job, taskx, tasky)

iff

"the taskx is a predecessor of the tasl'.y within the job". It is defined by a set of ground ato~s.

Idle_machine(machine, begin, end, plan)

iff

"the machine is i~l(:! (not used by any task) within the

period from the begin to the end in the context of the plan".

¥ nachine, begin, end, plan

(Idle_nachine(mnc~ine, be~ln. end, plan)

<-->

Y task, job, beginx, @ndx

(operation(tas~. job,machine, beginx, endx) € plan

--) Ov~rlap(be8in, end, be3inx, endx»)

Ov~rlap (a, h, c, d)

iff

"two periods of time 'ron a to b and from c to d overlap". Y a, b, c, d

(Overlap (a, b, c, d)

<--)

«b)= c '" a <= c) v (8

<=

d A d

<=

b» A

a

<

bAd

< c).

\ltc' Hi] 1 ~iv(' now dpfiniti.ons of thl' othr!r functions required by

th(~ dss machine.

Rs : M

-->

S a selector of the active plans.

RR «nn' mo

»

:= First(nn)

Ra

P(A) --) peA) a sclpctor of the manipulations applicable

to a plan.

(33)

ni

(rnani~ulations) := mani?ulations (we take identity function)

"./1' wi 11 dc!fin0 nml thp function T by lil(>a1Ul of two .>quations.

T: S x A

-->

$

"Ii plan is cxtcnced by an operation".

T (Rch~dule(time, ?!an),

operation(task, job, machine, begin, ~nd» : =

schedule(time, Cons(operation(task, job, ~8chine, belin,end), plan».

"a schpuuling tilll~' is move fon,·art.! to il newtim('''.

T (schedule (ti~e, 1'lan), ~o\'e(ne\.timf:'» := schedule (newtlme, plan)

Coal: S x D --) {true, false} Coal {Rcherlule (timr, plan), d) :=

Timelimit (ti;ne) \' All tasks_schet!uled(plan, d)

Tinelimit : ~ --) {tnH', false}

TiPle1imit (tine) :

=

"time is greater than a planni'1e horizon".

All_task_schedulr>d(plan, d):

=

"all tasks as defined by the

Is task. predicate have bec:n scheduled".

We define now the menory update function Rm. Rm : :-1 x S

* --)

tl

Rm «mn , ~o>' extensions)

:-<order (Append (extensions, Rest (mn »),

(34)

where

*

*

Order : S

-->

S

Order (schedule .. ) := "an ordered permutation of schedules". An ordering relation has to be defined on schedules.

We can express here our preferences with respect to schedules.

As a result of our defintions we get the best-first search strategy for the job-shop scheduler.

Rr : H --) S the recovery function

"selects a plan from either Dn or no in case

no plan satisfying 'Goal' predicate was found.

Rr(D n, mo

»:=

nil (we do not want any partial schedule)

(35)

Conclusions.

1k have given a specification of the co~pone~ts of an abstract dss machine.We hope that the specification shows in a clear way the structure of the system with respect to the target system, the graph of plans and the search strategies.

It seens possibl~ to begin the construction of the dss by neglecting the problems of selection of search stratesies and choosing a standaru one, and emphasizing the correct definition of the target system together with the graph of plan~.

Later the efficiency of the dss can be tuned by supplying suitable selection functions and thus creating a more refined search strate~y without the need to modify the whole system.

(36)

Re"ferences

[B«~3J Sennet, J.L. tfBuilding deci~ion RIl!)port-systPJ:\S",

R(~arlinf" :1ass., Addison-\lesley. 1983.

[GI84] Glaser H., Hankin C., Till D. "Principles of Functional

Prol~rar.lming", Prentice-Hall, 1984.

[ae86] 'Ian lIee K., lIuitink :: .• , Il't~gwater D.K. "Portplan, decision support system for port terminals", Eindhoven

University of Technology Notes, 1986.

[Ja36] Jl'\ckson P. "Introduction to expert systems",

Addison-~Jesley, 1936.

r{o79] Kowalski R. tlLoSic for Problem Solving", :-Iorth-llo11and,

1979.

{L184] Lloyd J.'.1. "Pollnnlltions of Logic Programning",

Spriner-V~rla~, 1934.

['1(>64J "endelson S. "Introduction to ~·father.1aticl'Il Lor;ic", Van ~ostrRnd. Princeton 1964.

(~;j'12] ~;i1~son !;. "Princijlles of Artificial Intelli.:r,ence". 3prinscr-Verlag, 1982.

[On:l] Or.mi Linear Progranl.1inc; SystPrl, USl~r ?eference 1!nnual,

"averley Systems Inc., Kav. 198].

['e84] ::>earl J. "lIeuristic~: intellip,ent search strat,~gies for computer problem solving", Addison-Uesley. 1984.

[So134] Sowa J.F "Conceptual structures: information processing in minn and machine". Addison-Hesley, 1984.

{TaSS] Tar-ski A. "A lattice-theoretical fix-point theorem and its applications", Pacific Journal of Mathematics, pp.205-309,

1955.

Referenties

GERELATEERDE DOCUMENTEN

De `populaire uitspraak' dat kunst enkel het esthetisch genot zou dienen, kan volgens Vande Veire `slechts verklaard worden als een verkrampte reactie op een onomkeerbaar gegeven:

control group, only one participant (Mr Z) produced a single neologism, using second-to-new to mean second hand.. For this reason, the count in [14] for each participant

Natasha Erlank has also written about the experiences of white, middle class women in South Africa as missionaries and teachers, but without touching on the Huguenot Seminary; see,

Recommendation and execution of special conditions by juvenile probation (research question 5) In almost all conditional PIJ recommendations some form of treatment was advised in

Uit tabel 11 blijkt dat er sterk significante verschillen zijn tussen beide experimenten en behalve voor melkproductie en eiwitgehalte geen interactie tussen behandeling en

L'INDUSTRIE LITHIQUE DU SITE RUBANE DU ST ABERG A ROSMEER 1 7 Les retouches affectent plus souvent un bord que !es deux et se prolongent parfois jusqu'a Ja base; elles

De data werden verzameld aan de hand van standaard methoden, volgens het protocol voor het macroscopisch onderzoek van menselijke resten binnen het agentschap Onroerend Erfgoed 20.

• What further statistics related to the walks in the quarter plane discussed in Chapter 7 can be calculated by means of the bijection or the kernel method. • How do ordered pairs