16
Case-based modification for optimization agents: AGENT-OPT Yong Sik Chang a , Jae Kyu Lee b, * a International Center for Electronic Commerce, 207-43, Cheongryang, Seoul 130-012, South Korea b Graduate School of Management, Korea Advanced Institute of Science and Technology, 207-43, Cheongryang, Seoul 130-012, South Korea Abstract For the effective implementation of an inter-organizational supply chain on the Web, many optimization model agents need to be embedded in the distributed software agents. For instance, many suppliers make requests to a delivery scheduler who manages a model warehouse at the e-hub. The scheduler deals with the scheduling of many truckers and each trucker’s agent must have its own routing optimization models. Since the formulations in the model warehouse vary depending upon the requirements, it is impossible to formulate all combinations in advance. Therefore, we need a case-based model modification scheme that can generate the required formulation from the semantically specified requirement in the agent communication language. This research deals with the issues of the architecture of an optimization model agent system AGENT-OPT, modeling request language in XML, optimization model representation in semantic-level objects using UNIK-OPT, a method of selecting a base model, an optimization model modification language (OMML), and rule-based modification reasoning. The approach is applied to the delivery scheduling to study the effect of base model selection policies on the modification effort. To determine whether to start with a primitive model, full model, or the most similar model, we experimented with the sensitivity of proximity to the primitive model on 24 cases and discovered the threshold for choosing the most efficient base model. D 2003 Elsevier B.V. All rights reserved. Keywords: Agent; Case-based model formulation; Optimization; Delivery scheduling; Supply chain 1. Introduction For the effective implementation of an inter-organ- izational supply chain on the Web, many optimization models need to be embedded in distributed software agents. For instance, when there are many suppliers that need delivery from a group of truckers, we need a third party to schedule the optimal delivery for truck- ers and suppliers. Since each delivery may have dif- ferent requirements, the predefined models may not be able to cover the variety of modeling requests from the suppliers. Consequently, the third party delivery scheduler needs to maintain a model warehouse [6] with the capability to formulate the optimization model based on the modeling request specified in XML messages, see Fig. 1. Since it is reasonable to assume that the scheduler has some predefined models, we can apply the case- based modification approach for the formulation of models. Our primary concern here is how to automate the modification process effectively and efficiently. To 0167-9236/$ - see front matter D 2003 Elsevier B.V. All rights reserved. doi:10.1016/S0167-9236(03)00026-5 * Corresponding author. Tel.: +82-2-958-3612; fax: +82-2-960- 2102. E-mail addresses: [email protected] (Y.S. Chang), [email protected] (J.K. Lee). www.elsevier.com/locate/dsw Decision Support Systems 36 (2004) 355 – 370

Case-based modification for optimization agents: AGENT-OPT

Embed Size (px)

Citation preview

Case-based modification for optimization agents: AGENT-OPT

Yong Sik Changa, Jae Kyu Leeb,*

a International Center for Electronic Commerce, 207-43, Cheongryang, Seoul 130-012, South KoreabGraduate School of Management, Korea Advanced Institute of Science and Technology, 207-43, Cheongryang, Seoul 130-012, South Korea

Abstract

For the effective implementation of an inter-organizational supply chain on the Web, many optimization model agents need

to be embedded in the distributed software agents. For instance, many suppliers make requests to a delivery scheduler who

manages a model warehouse at the e-hub. The scheduler deals with the scheduling of many truckers and each trucker’s agent

must have its own routing optimization models. Since the formulations in the model warehouse vary depending upon the

requirements, it is impossible to formulate all combinations in advance. Therefore, we need a case-based model modification

scheme that can generate the required formulation from the semantically specified requirement in the agent communication

language.

This research deals with the issues of the architecture of an optimization model agent system AGENT-OPT, modeling

request language in XML, optimization model representation in semantic-level objects using UNIK-OPT, a method of selecting

a base model, an optimization model modification language (OMML), and rule-based modification reasoning. The approach is

applied to the delivery scheduling to study the effect of base model selection policies on the modification effort. To determine

whether to start with a primitive model, full model, or the most similar model, we experimented with the sensitivity of proximity

to the primitive model on 24 cases and discovered the threshold for choosing the most efficient base model.

D 2003 Elsevier B.V. All rights reserved.

Keywords: Agent; Case-based model formulation; Optimization; Delivery scheduling; Supply chain

1. Introduction

For the effective implementation of an inter-organ-

izational supply chain on the Web, many optimization

models need to be embedded in distributed software

agents. For instance, when there are many suppliers

that need delivery from a group of truckers, we need a

third party to schedule the optimal delivery for truck-

ers and suppliers. Since each delivery may have dif-

ferent requirements, the predefined models may not be

able to cover the variety of modeling requests from

the suppliers. Consequently, the third party delivery

scheduler needs to maintain a model warehouse [6]

with the capability to formulate the optimization

model based on the modeling request specified in

XML messages, see Fig. 1.

Since it is reasonable to assume that the scheduler

has some predefined models, we can apply the case-

based modification approach for the formulation of

models. Our primary concern here is how to automate

the modification process effectively and efficiently. To

0167-9236/$ - see front matter D 2003 Elsevier B.V. All rights reserved.

doi:10.1016/S0167-9236(03)00026-5

* Corresponding author. Tel.: +82-2-958-3612; fax: +82-2-960-

2102.

E-mail addresses: [email protected] (Y.S. Chang),

[email protected] (J.K. Lee).

www.elsevier.com/locate/dsw

Decision Support Systems 36 (2004) 355–370

automate the formulation process, we need to resolve

the following issues.

1. Design of an appropriate architecture for the

optimization agent

2. Representation of the optimization models so that

they can incorporate the modeling request and

perform modification accordingly

3. Selection of a base model to start the modification

4. Design of an optimization model modification

language (OMML)

5. Design of a standard modeling request language in

XML

6. Interpretation of the modeling request language to

the base model selection and its modification

7. Rule-based reasoning for the modification

To fulfill the goals, we perform the following

research.

1. Design the AGENT-OPT as an architecture for the

optimization agent. This architecture needs to

specify the modeling request messages and the

internal architecture of agents.

2. Adopt the UNIK-OPT to represent the linear

programming and integer programming (IP) models

in the structured objects [20,24]. The illustrative

application domain is the delivery scheduling.

3. Adopt modification commands that add and delete

the objects of constraints, blocks of terms,

variables, constants, and indices in UNIK-OPT.

4. Evaluate the performance of the three approaches

for the selection of a base model: the primitive

model, full model, and most similar model

approaches. The base model implies an existing

model selected for the modification. The primitive

model is a model that has only the mandatory

constraints and the full model is the one with all

possible requested constraints. The most similar

model is the most similar case among the existing

models to the modeling request.

5. Specify the modeling request language for the

delivery order in XML message form. The

messages are transformed to the factors of the

base model selection and model modification. For

the delivery scheduling, there are two types of

messages: delivery order and resource specifica-

tion.

6. Specify the rules for the model modification. The

restrictions between objects for the valid model

should also be identified. The rules and restrictions

are used to execute the modification.

The following sections describe the above issues.

Section 2 reviews the literature on case-based model

modification. Section 3 presents the optimization

model for automatic modification and Section 4

describes the modification commands. Section 5

describes the modification process beginning with a

primitive model and Section 6 contrasts the full model

and the most similar model approaches to the primi-

tive model approach. Section 7 analyzes the condi-

Fig. 1. Scenario of optimization agent and model warehouse for delivery scheduling.

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370356

tions when an approach is most efficient. Section 8

describes the architecture of AGENT-OPT that adopts

the proposed approaches.

2. Literature on case-based model formulations

There is a considerable amount of research on

model management systems (MMS) [5,11] that sup-

ports the various phases of the modeling life-cycle.

The importance of MMS is resurrected as the necessity

for a model warehouse arises in the Web-based hub

[6]. Earlier research studied the representations of

models and the reasoning methods in order to map

specific problems with the model structure.

From the perspective of data and object manage-

ment, network data modeling [18], relational data

modeling [3], entity-relationship data modeling [4],

and object-oriented data modeling [14,21,30,35]

approaches were attempted. Liang proposed a frame-

work that included both relational and network con-

cepts [31]. On the other hand, from the perspective of

Artificial Intelligence, researchers adopted knowledge

representation techniques to represent models and

focused on automating the modeling processes. These

representations are based on predicate calculus [7],

semantic information net [11], knowledge abstraction

[9], first order logic [10,19], structured modeling

[12,13,36,38], rule-based formulation [23,28], and

frame [2,20,22,24].

It is very difficult to formulate a model from

scratch. It is reasonable, therefore, to modify the

existing models on the case-based reasoning approach.

Case-based planning was proposed by Vellore et al.

[39]. Modeling by analogy was researched by Blan-

ning [3], Ishikawa and Terano [15], Kedar-Cabelli

[16], Liang [32], Liang and Konsynski [34], and

Winston [40]. Both analogical and case-based reason-

ing methods rely on encapsulating episodic knowledge

to guide complex problem solving. The former empha-

sizes the process of modification, adaptation and

derivation, whereas the latter emphasizes the organ-

ization, hierarchy indexing and retrieval of case mem-

ory [8]. Modeling by analogy builds a new model

through feature mapping on conceptual, structural, and

functional similarities. However, it is not efficient

when modification of the model structure is required.

As Liang pointed out, this approach is relatively rigid

and the computational cost may be excessive partic-

ularly when large-scaled, because feature mapping is

theoretically NP-complete [33]. Instead of mapping a

new problem to the stored model counterpart, Binba-

sioglu [1] proposed the process analogy approach.

This approach designs a model without model struc-

ture modification from reusable model pieces. Never-

theless, it is rare for stored models to be reused without

structural modification.

Therefore, we need a more flexible and efficient

method that will automatically modify the models. In

this study, we adopt UNIK-OPT [24], which repre-

sents the optimization models—both the linear and

integer programming models—in structured objects.

Since the underlying design principle of UNIfied

Knowledge (UNIK) was the representation of opti-

mization models so as to integrate with rules [27], its

object-oriented representation is suitable for modifi-

cation. The earlier versionUNIK-LP, which focused on

the linear programming, did not assist the eXclusive

OR (XOR) relationship of variables and the IF–THEN

relationships between constraints. These higher-level

representations mean it should be extended to integer

programming models, thus the system UNIK-IP [41]

was developed. UNIK-RELAX [17] was also devel-

oped to identify the characteristics of model structure

and to plan the Lagrangian relaxation procedure to

solve IP models.

3. Representation of optimization model

formulation in objects

To apply the CBR approach to the optimization

model formulation, we need to represent the model

cases in such a way that they semantically understand

the modeling requests and modification commands.

UNIK-LP [24], a subsystem of UNIK-OPT for linear

programming, represents the model in objects seman-

tically (see Fig. 2) and transforms them to mathemat-

ical notations and tabular form for solving. As a result,

UNIK-OPT is suitable for representing the CBR

approach.

The linear programming models can be extended to

IP by adopting the expressions like XOR and IF–

THEN relationships between variables and between

constraints. UNIK-IP [41], the extension of UNIK-LP

for integer programming, can express such relation-

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370 357

ships and transform them to valid integer program-

ming model formulations for IP solvers.

The multi-depot vehicle routing problem (M-VRP)

[20] with time windows in Eqs. (1)–(11) can be

expressed in UNIK-OPT as Fig. 3. The top-level

object M-VRP specifies the model with the attributes

of DIRECTION of Minimization, a block of terms

total�traveling�distance�BOT in the OBJECTIVE,

and nine CONSTRAINTs. The CONSTRAINT

drop�in�constraint in Eq. (2) is composed of the

OPERATOR of Equal , the block of terms

drop�in�BOT on the left-hand side (LHS) of the

equality operator and one�BOT on the right-hand side

(RHS). The index of the constraint is flow�in�index

with the range of [1,. . .,n]. The IF–THEN constraint

in Eq. (9) is expressed as a pair of constraints.

MinXnþm

i¼1

Xnþm

j¼1

Xv

k¼1

dijXijk ð1Þ

subject to

Xnþm

i¼1

Xv

k¼1

Xijk ¼ 1 for j ¼ 1; 2; . . . ; n ð2Þ

Xnþm

j¼1

Xv

k¼1

Xijk ¼ 1 for i ¼ 1; 2; . . . ; n ð3Þ

Xnþm

i¼1

Xihk �Xnþm

j¼1

Xhjk ¼ 0 for h ¼ 1; 2; . . . ; nþ m;

k ¼ 1; 2; . . . ; v ð4Þ

Xnþm

i¼1

qiXnþm

j¼1

XijkVpk for k ¼ 1; 2; . . . ; v ð5Þ

Xnþm

i¼nþ1

Xn

j¼1

XijkV1 for k ¼ 1; 2; . . . ; v ð6Þ

Xnþm

j¼nþ1

Xn

i¼1

XijkV1 for k ¼ 1; 2; . . . ; v ð7Þ

Yi � Yj þ ðmþ nÞXijkVnþ m� 1 for 1Vi p jVn

and 1VkVv ð8Þ

If Xijkz1; then Ti þ tijVTj for i ¼ 1; 2; . . . ; n;

j ¼ 1; 2; . . . ; n; k ¼ 1; 2; . . . ; v ð9Þ

etiVTiVlti for i ¼ 1; 2; . . . ; n ð10Þ

Xijk ¼ 0 or 1 for all i; j; k ð11Þ

where i, j, h: index of delivery points and depots

{1,2,. . .,n+m}; k: index of vehicles {1,2,. . .,v}; n:

number of delivery points; m: number of depots; v:

number of vehicles; dij: traveling distance between

delivery points/depots i and j; qi: demand at delivery

point i; pk: capacity of vehicle k; tk: maximum

traveling time allowed for a route of vehicle k; tij:

traveling time between delivery points i and j; eti:

earliest delivery time at delivery point i; lti: latest

delivery time at delivery point i; Xijk: 1 if pair i, j is

in the route of vehicle k and 0 otherwise; Ti: arrival

time at delivery point i; Yi: real number that breaks

subtours.

UNIK-OPT generates the formulation by interact-

ing with human model builders. Once the semantic

Fig. 2. Structure of linear programming model by UNIK-OPT.

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370358

formulation in Fig. 3 is generated, UNIK-OPT can

automatically transform it to the mathematical nota-

tion forms in Eqs. (1)–(11).

4. Modification language of optimization models

The optimization models represented in UNIK-

OPT need elementary commands to modify them.

Lee and Lee [25] have developed an OMML for

UNIK-OPT. Primitive commands for OMML are

ADD and DELETE for all sorts of objects, as

illustrated in Table 1. UPDATE is a hybrid

command that is composed of DELETE and

ADD.

The effort to perform each modification command

Li, denoted by E(Li), is estimated by the number of

related objects as listed in the far right column of

Table 1. The command for higher-level objects natu-

rally requires greater effort because it is associated

with many lower level objects. We have assumed that

the effort required for the ADD and DELETE oper-

ations are the same.

To execute the commands in practice, the ADDed

objects must ascertain if they are redundant or not,

and the ADDed/DELETEd objects must ascertain

whether they require other objects to validate the

model.

5. Modification with a primitive model

Now, we need to modify an optimization model

(called a base model) with the modification com-

mands explained in Section 4. We will consider three

approaches to select a base model: the primitive

model, full model, and most similar model approaches.

This section describes the primitive model approach.

The other two approaches will be explained and

contrasted in the following sections.

5.1. Factors for primitive model selection and

modification

The primitive model is a model that consists of only

the necessary constraints for a problem domain. Thus,

by nature, the primitive models are not substitutional

each other. Suppose we have three primitive models

for the problem of delivery scheduling as listed in

Table 2. Factors for the selection of the primitive

model are the ‘relationship between depot and visit’

and the ‘purpose of visit.’ One of the primitive models

can be selected as a base model. Suppose we have

selected the M-VRP as a base model.

To formulate a model, we can modify a base

model according to the modification factors listed in

Table 3. In this example, the entities relevant to the

modification are the constraints on the vehicle,

Fig. 3. Multi-depot VRP model expressed in UNIK-OPT.

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370 359

delivery time, penalty for tardiness, and sequences in

routing. There are 13 factors in this example. A full

model implies a model constructed of a primitive

model with all of the modification factors as con-

straints.

5.2. Actions and rules for modification in delivery

scheduling

We need to associate the factors with actions to

construct modification rules. The ADD modification

actions are described in Table 4 and are activated by the

modification factors listed in Table 3. The constructed

modification rules are the following and the AND/OR

graph derived by the rules are depicted in Fig. 4.

Rule i: IF Mi, THEN Ai for i = 1, 2, 3, 4, 5, 11, 12,

13;

Rule j: IF Mj\A5, THEN Aj for j = 6, 7, 8, 9;

Rule 10: IF M10\A6\A7, THEN A10.

The actions can be expressed by the combination

of OMML commands as specified in Table 5. Note the

Table 2

Factors for identifying primitive models in delivery scheduling

domain

Categories Factors Candidates of

primitive model

Relationship

between depot

and visit

1:m�relationship P1 M-VRP, multi-depot

pickup and delivery

(M-PDP)

m:n�relationship P2 transportation

problem

Purpose of visit delivery�only P3 M-VRP,

transportation

problem

pickup�and�delivery P4 M-PDP

Table 3

Modification factors in delivery scheduling

Entities Factors Required constraints

Vehicle maximum�traveling�time

M1 maximum time each

vehicle travels in a route

maximum�traveling�distance

M2 maximum distance each

vehicle travels in a route

maximum�number�of�visiting�points

M3 maximum number of

visiting points for each

vehicle

fixed�cost�of�utilizing�vehicles

M4 fixed cost to utilize a

vehicle

Time delivery�time�window

M5 delivery time window

during which a vehicle

has to arrive

depot�departure�time�window

M6 time window during

which a vehicle has to

depart a depot

depot�return�time�window

M7 time window during

which a vehicle has to

return to the depot

service�time M8 service time for a vehicle

at a delivery point

Penalty penalty�for�tardy�arrival�time

M9 penalty for a vehicle’s

tardy arrival

penalty�for�exceeded�routing�duration

M10 penalty for an exceeded

routing duration time for

a vehicle

Route first�visit M11 requirement to visit a

point first in a route

last�visit M12 requirement to visit a

point last in a route

precedence M13 traveling order between

consecutive visiting points

Table 1

Illustrative commands of optimization model modification language

ID Commands of OMML E(Lj)

L1 ADD_BOT BOT_name TO

OBJECTIVE_FUNCTION

6

L2 DELETE_BOT BOT_name

FROM OBJECTIVE_FUNCTION

6

L3 ADD_CONSTRAINT Constraint_name 8

L4 DELETE_CONSTRAINT

Constraint_name

8

L5 ADD_CONSTRAINT IF

Constraint_name

THEN Constraint_name

15

L6 DELETE_CONSTRAINT IF

Constraint_name

THEN Constraint_name

15

L7 ADD_BOT BOT_name IN

{LHSjRHS} OF CONSTRAINT

Constraint_name

6

L8 DELETE_BOT BOT_name IN

{LHSjRHS} OF CONSTRAINT

Constraint_name

6

L9 ADD_INDEX

{{Index_name Range}j{Consecutive_index_names Range}}

2

TO CONSTRAINT Constraint_name

L10 DELETE_INDEX Index_name Range

TO CONSTRAINT Constraint_name

2

L11 ADD_INDEX Index_name Range

TO BOT BOT_name

2

L12 DELETE_INDEX Index_name Range

TO BOT BOT_name

2

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370360

Table 4

Modification actions in mathematical programming notational form

Modification actions Mathematical expressions

ADD_maximum_traveling_ A1 Add Eq. (12) to M-VRP.

time_constraint Xnþm

i¼1

Xnþm

j¼1

tijXijkVtk for k ¼ 1; 2; . . . ; v ð12Þ

where tk: maximum traveling time allowed for a route of vehicle k.

ADD_maximum_traveling_ A2 Add Eq. (13) to M-VRP.

distance_constraint Xnþm

i¼1

Xnþm

j¼1

dijXijkVlk for k ¼ 1; 2; . . . ; v ð13Þ

where lk: maximum traveling distance allowed for a route of vehicle k.

ADD_maximum_number_of_ A3 Add Eq. (14) to M-VRP.

visiting_points_constraint Xn

i¼1

Xn

j¼1

XijkVuk for k ¼ 1; 2; . . . ; v ð14Þ

where uk: maximum number of visiting points allowed for a vehicle k.

ADD_fixed_cost_of_ A4 Add Eq. (15) to objective function of M-VRP.

utilizing_vehicle_BOT Xnþm

i¼1

Xn

j¼1

Xv

k¼1

fkXijk ð15Þ

where fk: fixed cost of utilizing vehicle k.

ADD_delivery_time_ A5 Add Eqs. (16) and (17) to M-VRP.

window_constraint If Xijkz1; then Ti þ tijVTj for i ¼ 1; 2; . . . ; n;

j ¼ 1; 2; . . . ; n; k ¼ 1; 2; . . . ; v ð16Þ

etiVTiVlti for i ¼ 1; 2; . . . ; n ð17Þwhere et(lt): earliest(latest) delivery time allowed at visit i and Ti: time variable at visit i.

ADD_depot_departure_ A6 Add Eqs. (18) and (19) to M-VRP.

time_window_constraintIf Xijkz1; then T

departik þ tijVTj for i ¼ nþ 1; . . . ; nþ m;

j ¼ 1; 2; . . . ; n; k ¼ 1; 2; . . . ; v ð18Þ

etdeparti VT

departik Vlt

departi for i ¼ nþ 1; . . . ; nþ m; k ¼ 1; 2; . . . ; v ð19Þ

where Tikdepart: time at which a vehicle k departs a depot i.

A6 is meaningful after A5 is actuated.

ADD_depot_return_time_ A7 Add Eqs. (20) and (21) to M-VRP.

window_constraint If Xijkz1; then Ti þ tijVT returnjk for i ¼ 1; 2; . . . ; n;

j ¼ nþ 1; . . . ; nþ m; k ¼ 1; 2; . . . ; v ð20Þ

et returni VT returnik Vlt returni for i ¼ nþ 1; . . . ; nþ m; k ¼ 1; 2; . . . ; v ð21Þ

where Tikreturn: time at which a vehicle k returns to depot i.

A7 is meaningful after A5 is actuated.

ADD_service_time_BOT A8 Add Eq. (22) to the left-hand side of consequence part of Eq. (20)

si ð22Þwhere si: service time at delivery point i. A8 is meaningful after A5 is actuated.

ADD_penalty_for_tardy_ A9 Add Eq. (23) to the objective function of M-VRP.

arrival_time_BOT Xn

i¼1

aðTi � ltiÞ ð23Þ

where a is a constant. A9 is meaningful after A5 is actuated.

(continued on next page)

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370 361

estimated modification effort E(Ai), which is the sum

of associated E(Lj), marked in Table 5. The primitive

model layer, modification action layer, and specific

model layer are depicted in Fig. 4.

The total number of valid models that can be

generated by the modifications is the number of pos-

sible combinations of modification actions that do not

violate the restrictions between actions. In the M-VRP,

the primitive model can be modified to 2,418 models.

Suppose three modification factors (maximum

traveling distance, delivery time windows, and service

time) are selected as marked in Fig. 4. The formulated

models can be stored and used for future case-based

modifications.

6. The full model and most similar model

approaches

This section describes the next two approaches:

the full model and most similar model approaches.

The primitive model approach only adds constraints

(and associated objects). On the contrary, the full

model approach performs the deletion of constraints

and the most similar model approach may add and/or

delete the constraints. If there are conflicting con-

straints that cannot coexist, we need to generate more

than one full model. This can be a detriment to the

full model approach because we have to prepare all

combinations of full models in advance and select

one as a base model. Fortunately, however, in this

example, all modification factors can coexist because

one full model can generate the entire spectrum of

models.

In essence, we can apply the forward chaining

approach [33] from the base model. In addition, the

reasoning process must check the following restric-

tions:

1. Avoidance of redundancy: If the same objects

already exist, do not add them again.

2. Avoidance of conflict: If some constraints cannot

coexist, alert the model builder the conflict so that

he or she will reconsider the modeling factors.

3. Assurance of completeness: If a model has missing

constraints, BOTs, attributes, or indices, generate

the missing objects to complete and validate the

model [25].

Let us denote the model and actions as follows.

GM: goal model

PM: primitive model

FM: full model

Table 4 (continued)

Modification actions Mathematical expressions

ADD_penalty_for_exceeded_routing_ A10 Add Eq. (24) to the objective function of M-VRP.

duration_BOT Xnþm

i¼nþ1

Xv

k¼1

bðT returnik � T

departik Þ ð24Þ

where b is a constant. A10 is meaningful after A6 and A7 are actuated.

ADD_first_visit_constraint A11 Add Eq. (25) to M-VRP.

Xnþm

i¼nþ1

Xv

k¼1

Xijk ¼ 1 for jaF ð25Þ

where an element of the set F is a point required to visit first in a route.

ADD_last_visit_constraint A12 Add Eq. (26) to M-VRP.

Xnþm

j¼nþ1

Xv

k¼1

Xijk ¼ 1 for iaL ð26Þ

where an element of the set L is a point required to visit last in a route.

ADD_precedence_constraint A13 Add Eq. (27) to objective function of M-VRP.

Xijk ¼ 1 for ði; jÞaP ð27Þ

where P is a set of consecutive visiting points with precedence constraints.

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370362

SM: a similar case model

A={Ai}: a set of actions

6.1. Primitive model approach

According to the primitive model approach, the

example model M-VRP with three factors M2, M5,

and M8 can be expressed as GM=(M-VRP; A2, A5,

A8). In UNIK-OPT, the model is specified as Fig. 5.

The two factors M2 and M5 activate A2 and A5,

respectively, and M8 and A5 activate A8. The modifi-

cation has added two constraints and a BOT. The

primitive model and the three activated modifications

result in the goal model. In this case, the estimated

modification effort is 63. Intuitively, the primitive

model approach is effective when the goal model is

similar to the primitive model.

6.2. Full model approach

The full model approach must identify the DELETE

actions to be undertaken. The DELETE actions (fAi)

are defined as the reverse of ADD actions (Ai). The

DELETE action set can be derived by eliminating the

ADDed actions in the primitive model approach.

fDELETE actions by the full model approachg ¼fall actionsg � fADD actions by the primitive

model approachg

Obviously, the full model approach is effective

when the goal model is close to the full model. In

this example, GM=(PM; A2, A5, A8)=(FM; fA1,

fA3, fA4, fA6, fA7, fA9, fA10, fA11, fA12,

fA13) and takes the estimated modification effort

182. This means the primitive model approach is

more efficient in this example.

6.3. The most similar model approach

The modification from a similar model may require

both ADD and DELETE actions. To avoid the deletion

and addition of overlapped actions, the intersection of

both types of actions are first identified. In this manner,

Fig. 4. AND/OR graphical relationship between primitive models, factors, actions, and formulated model.

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370 363

Table 5

Modification actions in OMML commands

OMML expressions E(Ai)

A1 ADD_CONSTRAINT maximum_traveling_time_constraint 10

ADD_INDEX vehicle_index 1 v TO CONSTRAINT maximum_traveling_time_constraint

A2 ADD_CONSTRAINT maximum_traveling_distance_constraint 10

ADD_INDEX vehicle_index 1 v TO CONSTRAINT maximum_traveling_distance_constraint

A3 ADD_CONSTRAINT maximum_number_of_visiting_points_constraint 10

ADD_INDEX vehicle_index 1 v TO CONSTRAINT maximum_number_of_visiting_points_constraint

A4 ADD_BOT fixed_cost_of_utilizing_vehicle_BOT TO OBJECTIVE_FUNCTION 12

ADD_INDEX flow_out_index 1 n+m TO BOT fixed_cost_of_utilizing_vehicle_BOT

ADD_INDEX flow_in_index 1 n TO BOT fixed_cost_of_utilizing_vehicle_BOT

ADD_INDEX vehicle_index 1 v TO BOT fixed_cost_of_utilizing_vehicle_BOT

A5 ADD_CONSTRAINT IF visit_constraint THEN compatibility_requirement_between_routes_ and_time_constraint 47

ADD_INDEX flow_out_index 1 n TO CONSTRAINT visit_constraint

ADD_INDEX flow_in_index 1 n TO CONSTRAINT visit_constraint

ADD_INDEX vehicle_index 1 v TO CONSTRAINT visit_constraint

ADD_INDEX flow_out_index 1 n TO CONSTRAINT compatibility_requirement_between_routes_and_time_constraint

ADD_INDEX flow_in_index 1 n TO CONSTRAINT compatibility_requirement_between_routes_and_time_constraint

ADD_INDEX vehicle_index 1 v TO CONSTRAINT compatibility_requirement_between_ routes_and_time_constraint

ADD_CONSTRAINT earliest_delivery_time_constraint

ADD_INDEX flow_in_index 1 n TO CONSTRAINT earliest_delivery_time_constraint

ADD_CONSTRAINT latest_delivery_time_constraint

ADD_INDEX flow_in_index 1 n TO CONSTRAINT latest_delivery_time_constraint

A6 ADD_CONSTRAINT IF visit_constraint THEN compatibility_requirement_between_routes_ and_departure_time_constraint 51

ADD_INDEX flow_out_index n+ 1 n+m TO CONSTRAINT visit_constraint

ADD_INDEX flow_in_index 1 n TO CONSTRAINT visit_constraint

ADD_INDEX vehicle_index 1 v TO CONSTRAINT visit_constraint

ADD_INDEX flow_out_index n+ 1 n+m TO CONSTRAINT compatibility_requirement_between_routes_and_departure_

time_constraint

ADD_INDEX flow_in_index 1 n TO CONSTRAINT compatibility_requirement_between_routes_and_departure_time_constraint

ADD_INDEX vehicle_index 1 v TO CONSTRAINT compatibility_requirement_between_routes_and_departure_time_constraint

ADD_CONSTRAINT earliest_departure_time_constraint

ADD_INDEX flow_out_index n+ 1 n+m TO CONSTRAINT earliest_departure_time_ constraint

ADD_INDEX vehicle_index 1 v TO CONSTRAINT earliest_departure_time_constraint

ADD_CONSTRAINT latest_departure_time_constraint

ADD_INDEX flow_out_index n+ 1 n+m TO CONSTRAINT latest_departure_time_constraint

ADD_INDEX vehicle_index 1 v TO CONSTRAINT latest_departure_time_constraint

A7 ADD_CONSTRAINT IF visit_constraint THEN compatibility_requirement_between_routes_and_return_time_constraint 51

ADD_INDEX flow_out_index 1 n TO CONSTRAINT visit_constraint

ADD_INDEX flow_in_index n+ 1 n+m TO CONSTRAINT visit_constraint

ADD_INDEX vehicle_index 1 v TO CONSTRAINT visit_constraint

ADD_INDEX flow_out_index 1 n TO CONSTRAINT compatibility_requirement_between_routes_and_return_time_constraint

ADD_CONSTRAINT IF visit_constraint THEN compatibility_requirement_between_routes_and_return_time_constraint

ADD_INDEX flow_in_index n+ 1 n+m TO CONSTRAINT compatibility_requirement_between_routes_and_return_

time_constraint

ADD_INDEX vehicle_index 1 v TO CONSTRAINT compatibility_requirement_between_ routes_and_return_time_constraint

ADD_CONSTRAINT earliest_return_time_constraint

ADD_INDEX flow_out_index n+ 1 n+m TO CONSTRAINT earliest_return_ time_constraint

ADD_INDEX vehicle_index 1 v TO CONSTRAINT earliest_return_time_ constraint

ADD_CONSTRAINT latest_return_time_constraint

ADD_INDEX flow_out_index n+ 1 n+m TO CONSTRAINT latest_return_time_ constraint

ADD_INDEX vehicle_index 1 v TO CONSTRAINT latest_return_time_constraint

A8 ADD_BOT service_time_BOT IN LHS OF CONSTRAINT compatibility_requirement_ between_ routes_and_time_constraint 6

A9 ADD_BOT penalty_for_tardy_arrival_time_BOT TO OBJECTIVE_FUNCTION 8

ADD_INDEX flow_out_index n n+m TO BOT penalty_for_tardy_arrival_time_BOT

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370364

purely ADD and DELETE actions are undertaken. To

experiment with the most similar model approach, the

other 23 models are used as candidates for the base

model. Suppose SM=(M-VRP; A3, A5, A8). In this

example, we are required to ADD A2 and DELETE

A3. That is, GM=(SM; A2,fA3). It takes an estimated

modification effort of 20. However, this approach

requires selecting the most similar case as described

in Section 7.

7. Comparative performance of modification

approaches

Let us compare the performance of three modifi-

cation approaches with the 24 experimental model

structures. The proximity of the experimental models

to the primitive model is almost uniformly distributed

between the primitive and full models as depicted in

the horizontal axis of Fig. 6. The proximity is meas-

ured by the effort required to modify from the

primitive model.

If we can measure the threshold of efficient

approach, the optimization model agent can automati-

cally identify the best approach for formulation. To

measure the total effort of formulation (ET; T implies

total), we consider two types of efforts: base model

selection effort (ES) and modification effort from the

base model (EM). On average, the experimental mod-

els have 10 delivery orders and 3 trucks. Since the

UNIK-OPT modifies the models at a semantic level,

the modification effort does not increase in proportion

to the number of variables.

OMML expressions E(Ai)

A10 ADD_BOT penalty_for_exceeded_routing_duration_BOT TO OBJECTIVE_FUNCTION 10

ADD_INDEX flow_out_index 1 n+m TO BOT penalty_for_exceeded_routing_duration_BOT

ADD_INDEX vehicle_index 1 v TO BOT penalty_for_exceeded_routing_duration_BOT

A11 ADD_CONSTRAINT first_visit_constraint 10

ADD_INDEX flow_in_index first_visit_list TO CONSTRAINT first_visit_constraint

A12 ADD_CONSTRAINT last_visit_constraint 10

ADD_INDEX flow_out_index last_visit_list TO CONSTRAINT last_visit_constraint

A13 ADD_CONSTRAINT precedence_constraint 10

ADD_INDEX flow_out_index flow_in_index precedence_list TO CONSTRAINT precedence_constraint

Fig. 5. GM=(M-VRP; A2, A5, A8) expressed in UNIK-OPT.

Table 5 (continued)

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370 365

7.1. Accuracy of the modification effort estimator

The modification effort is estimated by the number

of associated objects as defined in Table 4. To

empirically evaluate the actual effort, we have exe-

cuted the modification and measured the time in

seconds. The estimates and actual execution times

are fitted by a regression model and the resultant

correlation is very high with R2 = 0.992 for the prim-

itive model approach and 0.999 for the full model

approach. Consequently, the estimator is good enough

for the effort prediction.

7.2. Sensitivity of proximity

The effort for the base model selection, modifica-

tion, and their total are plotted in Fig. 6.

The effort for the base model selection of the full

model approach is about twice of that of the primitive

model approach, while the most similar case

approach takes about four times as long, as depicted

in Fig. 6(a).

The modification efforts are depicted in Fig.

6(b). The relationship of the actual modification

effort and proximity is fitted by the regression

Fig. 6. Sensitivity of proximity.

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370366

model (28). The estimates are summarized in Table

6.

Actual EM ¼ aM þ bM Proximity ð28Þ

The primitive model approach has a positive trend

and the full model approach has a negative trend. The

t-value of the primitive model approach is 53.39 and

that of the full model approach is � 137.71. Thus, the

trends are statistically significant at the 1% level. Note

that the most similar case approach also has a positive

trend, which implies that as the complexity of con-

straints increases, the modification effort even from

the most similar case increases.

The total efforts are depicted in Fig. 6(c). In this

example, the most similar case approach is partially

dominated by the other two approaches at near prox-

imity 100. For the goal models, whose proximity is

less than 107.3, the primitive model approach outper-

forms the most similar case approach. Otherwise, the

full model approach outperforms the others. Accord-

ing to this, the primitive model approach performs best

for the model GM=(M-VRP; A2, A5, A8). The perform-

ance pattern may differ depending upon the applica-

tion domains. We need, therefore, to study the

threshold with experimental data in advance or learn

while using for each application domain. The benefit

increases as the scale of model warehouse expands.

8. Architecture of AGENT-OPT

With the approaches described earlier, we can

design the optimization agent AGENT-OPT as Fig. 7.

The problem solving process is depicted in Fig. 7.

(1) The optimization modeling requester agent receives

a problem statement from amodeling requester. (2) The

requester agent generates a problem requirement

Table 6

aM, bM, and t-values in modification effort estimation model

Approaches aM bM Hypothesis testing R2

Primitive

model

0.50 0.04 H0: bMV 0, Ha: bM> 0,

t = 53.39z t(24, 0.01) = 2.49

0.992

Full model 6.74 � 0.03 H0: bMz 0, Ha: bM< 0,

t =� 137.71V� t(24, 0.01) =

� 2.49

0.999

The most

similar case

� 0.26 0.01 H0: bMV 0, Ha: bM>0,t = 6.39z t(24, 0.01) = 2.49

0.630

Fig. 7. Architecture of AGENT-OPT and its application to delivery scheduling.

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370 367

expressed in the modeling request language of XML as

in Fig. 8 and transmits it to the optimization agent

AGENT-OPT. (3) AGENT-OPT interprets the model-

ing request language to the base model selection and

modification factors. (4) The agent selects a base model

and identifies the necessary modification actions. (5)

The agent modifies the base model to a goal model. (6)

The agent solves the model by an IP solver (we used

LINDO as the IP solver) and generates a solution

message in XML to return it to the modeling requester.

9. Conclusion

We have developed a case-based modification

scheme that can formulate optimization models auto-

matically and designed a prototype tool AGENT-OPT

that can manage a model warehouse. For the mod-

ification, the efficiency of the primitive model, full

model, and most similar model approaches are com-

pared, and the conditions when an approach is most

efficient are discovered. Since Web-based hubs need

to provide the optimization model management serv-

ice to various clients, such as delivery schedulers and

virtual manufacturing schedulers, we need to device

architecture that can generate, reuse, and modify the

various models already built. In the future, the hyper-

text descriptions of the optimization model can be

supported by using the XRML approach [26].

We confirmed that the architecture AGENT-OPT,

which uses the representation of UNIK-OPT, could be

an answer to the requirements of a model warehouse

and interactions with other software agents. We have

designed the ontology for delivery scheduling prob-

lems, and validated the architecture. The approach

should be applicable to other application domains of a

model warehouse.

In terms of the application domain of delivery

scheduling studied in the research, we should further

investigate the relationship between schedule negotia-

tions for infeasible solutions, delivery coordination by

an intermediary with the protocols such as contract net

protocol [37] and time-bounded negotiation protocol

[29].

References

[1] M. Binbasioglu, Process-based reconstructive approach to

model building, Decision Support Systems 12 (2) (1994)

97–113.

[2] M. Binbasioglu, M. Jarke, Domain specific DSS tools for

knowledge-based model building, Decision Support Systems

2 (3) (1986) 213–223.

[3] R.W. Blanning, A relational framework for model manage-

ment in decision support systems, DSS-82 Transactions

(1982) 16–28.

[4] R.W. Blanning, An entity-relationship approach to model

management, Decision Support Systems 2 (1) (1986) 65–72.

[5] R.W. Blanning, Model management systems: an overview,

Decision Support Systems 9 (1) (1993) 9–18.

[6] N. Bolloju, M. Khalifa, E. Turban, Integrating knowledge

management into enterprise environments for the next gener-

ation decision support, Decision Support Systems 33 (2)

(2002) 163–176.

[7] R. Bonczek, C. Holsapple, A. Whinston, Foundations of

Decision Support Systems, Academic Press, New York,

1981.

[8] J. Carbonnel, Derivational analogy: a theory of reconstructive

Fig. 8. Modeling request message from a modeling requester.

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370368

problem solving and expertise acquisition, in: R. Michalski,

et al. (Eds.), Machine Learning, vol. 2. Morgan Kaufmann,

San Francisco, CA, 1986, pp. 371–392.

[9] D.R. Dolk, B.R. Konsynski, Knowledge representation for

model management systems, IEEE Transactions on Software

Engineering, SE-10:6 (1984) 619–628.

[10] A. Dutta, A. Basu, An artificial intelligence approach to model

management in decision support systems, IEEE Computer 17

(9) (1984) 89–97.

[11] J.J. Elam, J.C. Henderson, L.W. Miller, Model management

systems: an approach to decision support in complex organ-

izations, Proceedings of the First International Conference on

Information System, 1980, pp. 98–110.

[12] A.M. Geoffrion, Introduction to structured modeling, Manage-

ment Science 33 (5) (1987) 547–588.

[13] A.M. Geoffrion, The formal aspects of structured modeling,

Operations Research 37 (1) (1989) 30–51.

[14] S.Y. Huh, Model-base construction with object-oriented con-

structs, Decision Sciences 24 (2) (1993) 409–434.

[15] T. Ishikawa, T. Terano, Analogy by abstraction: case retrieval

and adaptation for inventive design expert systems, Expert

Systems with Applications 10 (3/4) (1996) 351–356.

[16] S.T. Kedar-Cabelli, Toward a Computational Model of Pur-

pose-Directed Analogy, Kaufmann, Analogica, CA, 1988.

[17] C.S. Kim, J.K. Lee, Automatic structural identification and

relaxation for integer programming, Decision Support Sys-

tems 18 (3–4) (1996) 253–271.

[18] B. Konsynski, D.R. Dolk, Knowledge abstractions in model

management, DSS-82 Transactions (1982) 187–202.

[19] R. Krishnan, A logic modeling language for automated model

construction, Decision Support Systems 6 (3) (1990) 123–152.

[20] R.V. Kulkarni, P.R. Bhave, Integer programming formulations

of vehicle routing problems, European Journal of Operational

Research 20 (1985) 58–67.

[21] B. Le Claire, R. Sharda, An Object-oriented Architecture for

Decision Support Systems, 1990 ISDSS Conference Proceed-

ings, 1990, pp. 567–586.

[22] J.S. Lee, Structure frame based model management system,

Unpublished doctoral dissertation, University of Pennsylva-

nia, 1989.

[23] J.S. Lee, A model base for identifying mathematical pro-

gramming structures, Decision Support Systems 7 (2) (1991)

99–105.

[24] J.K. Lee, M.Y. Kim, Knowledge-assisted optimization model

formulation: UNIK-OPT, Decision Support Systems 13 (2)

(1995) 111–132.

[25] J.K. Lee, B.Y. Lee, Integrated management system for opti-

mization and heuristic models, Working paper, KAIST, 2002.

[26] J.K. Lee, M.M. Sohn, eXtensible Rule Markup Language—

Toward the Intelligent Web Platform, Communications of the

ACM, 2002 (forthcoming).

[27] J.K. Lee, Y.U. Song, Unification of linear programming with a

rule-based system by post-model analysis approach, Manage-

ment Science 41 (5) (1995) 835–847.

[28] J.S. Lee, C.V. Jones, M. Guignard, MAPNOS: mathematical

programming formulation normalization system, Expert Sys-

tems With Applications 1 (1990) 367–381.

[29] K.J. Lee, Y.S. Chang, J.K. Lee, Time-bounded negotiation

framework for electronic commerce agents, Decision Support

Systems 28 (4) (2000) 319–331.

[30] M.L. Lenard, An object-oriented approach to model manage-

ment, Decision Support Systems 9 (1) (1993) 67–73.

[31] T.P. Liang, Integrating model management with data manage-

ment in decision support systems, Decision Support Systems 1

(1) (1985) 221–232.

[32] T.P. Liang, Modeling by analogy: a case-based approach to

automated linear program formulation, IEEE, (1991) 276–283.

[33] T.P. Liang, Analogical reasoning and case-based learning in

model management systems, Decision Support Systems 10 (2)

(1993) 137–160.

[34] T.P. Liang, B.R. Konsynski, Modeling by analogy: use of

analogical reasoning in model management systems, Decision

Support Systems 9 (1) (1993) 113–125.

[35] W.A. Muhanna, An object-oriented framework for model

management and DSS development, 1990 ISDSS Conference

Proceedings (1990) 553–565.

[36] S.J. Park, H.D. Kim, Constraint-based metaview approach for

modeling environment generation, Decision Support Systems

9 (4) (1993) 325–348.

[37] R.G. Smith, The contract net protocol: high-level communi-

cation and control in a distributed problem solver, IEEE

Transactions on Computer 29 (1980) 1104–1113.

[38] Y. Tsai, Model integration using SML, Decision Support Sys-

tems 22 (4) (1998) 355–377.

[39] R.C. Vellore, A. Sen, A.S. Vinze, A Case-Based Planning

Approach to Model Formulation, 1990 ISDSS Conference

Proceedings, 1990, pp. 353–382.

[40] W.L. Winston, Operations Research, 3rd ed., Duxbury Press,

Belmont, CA, 1994.

[41] K. Yeom, J.K. Lee, Logical representation of integer program-

ming models, Decision Support Systems 18 (3–4) (1996)

227–251.

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370 369

Yong Sik Chang has received a PhD

from the Graduate School of Manage-

ment at Korea Advanced Institute of

Science and Technology (KAIST) and

serves as a principal researcher at Inter-

national Center for Electronic Commerce

(ICEC). He received his BS (1988) from

Sogang University and MS (1991) from

Pohang Institute of Science and Technol-

ogy (POSTECH). He has industrial

experiences of developing MIS and elec-

tronic commerce applications. His current research focus is the

electronic commerce, model management, and multi-agent systems.

Jae Kyu Lee is a Professor of Manage-

ment Information Systems at Korea

Advanced Institute of Science and Tech-

nology and a Director of the Interna-

tional Center for Electronic Commerce.

He received a PhD from the Wharton

School, University of Pennsylvania. He

was Chair of the International Confer-

ence on Electronic Commerce (ICEC

1998 and ICEC 2000) and the Third

World Congress on Expert Systems

(1996). He has authored several books on electronic commerce

and expert systems and published numerous papers in the following

journals: Management Science, CACM, DSS, Expert Systems with

Applications, International Journal of Electronic Commerce, Deci-

sion Science, and many others. Currently, he is an Editor-in-Chief of

the Journal Electronic Commerce Research and Applications and

Editorial Member of various international journals like Decision

Support Systems, Expert Systems with Applications, International

Journal of Electronic Commerce, and so on. His main research

interests are in the fields of electronic commerce and intelligent

information systems.

Y.S. Chang, J.K. Lee / Decision Support Systems 36 (2004) 355–370370