A peer-to-peer distributed collaborative optimization system

It is difficult to solve design optimization problems of complex systems by using a traditional computing method because complex simulation processes usually lead to large-scale computation. Therefore the distributed computing technology based on decomposition-coordination theory has received much attention by design engineers. This paper studies a peer-to-peer collaborative optimization method based on distributed computing technology in order to examine flexible optimization. A new distributed collaborative optimization framework is proposed, and a coordination method is developed and used to deal with the conflict of related variables among sub-optimization problems. A multi-agent based distributed computing environment is implemented. The implementation of an optimization agent, in which CORBA technology is used to implement communication between the components of the optimization agent, is discussed in detail. Two examples are used to demonstrate the efficiency of the computing method and the reliability and flexibility of the multi-agent system.


Introduction
Products development is in essence an optimization process.Although optimization techniques have been successfully used in many engineering fields with promising results, solving optimization problems of complex engineering systems is still a grand challenge that must be faced.The state-of-the-art optimization techniques have not yet meet the demand of modern engineering design problems due to large-scale computation and complex simulation, in particular the design of an entire system and/or an overall design process [1].
Large scale optimization problems may be tackled only if they are somehow decomposed.Decomposing a large optimization problem into several smaller sub-problems also allows many optimisation prob-lems to be solved in parallel.Thus, efficiency is increased.The distributed computing technology based on decomposition-coordination theory is very promising and attractive.For our discussion, collaborative optimization technology means a systemic approach to the optimisation of complex and coupled engineering systems by decomposing large design problems into smaller design problems, which can be assigned to different groups of engineers.Here, collaborative optimization technology is, in some sense, very much the same as Multidisciplinary Design Optimization (MDO), but its application must not be confined to the multidisciplinary fields.
This paper studies a peer-to-peer collaborative optimization method based on distributed computing technology in order to understand flexible optimisation.A distributed computing framework is proposed and a multi-agent based distributed collaborative optimisation system is constructed.The paper is organized as follows.Section 2 introduces some related work in this research area.A distributed computing framework is presented and a coordination strategy among suboptimization problems is derived in Section 3. System implementation is discussed in section 4. In section 5, two examples are used to demonstrate the application of the framework.Finally, conclusions are drawn.

Related work
An intense research area in recent years is to provide engineering support and solutions to design optimizations of complex engineering systems.The requirements of MDO accelerate the development of collaborative optimization technology [2].For hierarchic problems, a linear decomposition method was proposed in [3] and successfully applied to structural optimization [4].Since most practical problems are nonhierarchic, the present research focuses on a collaborative optimization technique for non-hierarchic problems.
The method for hierarchic problems was improved and adapted to suit non-hierarchic problems [5].Other methods for non-hierarchic problems include, the compatibility constrained optimization (CCO) method, the concurrent sub-space optimization (CSSO) method and the collaborative optimization (CO) method.The CCO method treats non-hierarchic problems as hierarchic problems after including design constraints and coupling constraints at the discipline level [6].The CSSO method provides multidisciplinary feasibility at each CSSO cycle; it separates optimizations within the subsystems and deals with all of the design variables simultaneously at the system level [7].Bolebaum introduced an expert system technology into CSSO [8].Renaud improved coordination methods and studied an approximation technology for CSSO [9,10].The SYSOPT system, based on CSSO, has been successfully applied to a commercial aircraft design [11].Sellar used response surface technology to increase the computing efficiency of the CSSO method [12].The CO method preserved disciplinary groupings by allowing parallel development of design [13].Braun studied CO method at length and applied CO method to aircraft design [14,15].Tappeta solved multi-objective optimization by using the CO method [16].Parallel to the development of the above methodology, a number of software packages have been developed to facilitate integration of codes, data, and user interfaces, such as FIDO [17], iSIGHT [18].

A new distributed collaborative optimization framework
Although sub-problems have different levels of autonomy within a decomposed problem when applying the above methods [19], none of these methods is a peer-to-peer method.They are mainly focused on integrating developed modules, lack of flexibility and do not support product development process.This is due to the fact that a systemic optimization model is difficult to build and information of analytic gradients is difficult to obtain.The aim of this paper is to develop practical design optimization tools for engineers enabling them to systematically improve designs processes.

The collaborative optimisation framework
Products development is a collaborative process in which each design group deals with a sub-system.As a result, the sub-optimization models are independent to a certain extent.On the other hand, the correlation of the sub-systems results in the coupling relationship of the sub-optimization models.A good collaborative optimisation framework should meet the following demands: (1) It does not require modifications to any suboptimization models because modifying any optimization model not only demands design engineers to grasp collaborative optimization algorithm, but also may lead to loss of technology security.(2) Sub-optimization models can be computed independently for some purpose.This is also an important way to validate sub-optimization models.(3) Sub-optimization program runs in parallel mode and the coordination operation can be finished intelligently under the framework.
Based on the above considerations this paper proposes the Collaborative Subspace Optimization Framework (CSOF) as depicted in Fig. 1.Sub-optimizations run in mutually independent sub-spaces and the coordination module deal with conflict of sub-optimizations.
The advantage of this framework is that suboptimizations are mutually independent and, thus, may be run in parallel.One can freely experience the flexible optimization technology for the generalized optimal design under this framework [20].Moreover, technology security of design groups is guaranteed since it is not necessary to modify sub-optimization models.

Coordination strategy
The complete autonomy of sub-optimization problems makes the conflict among them more serious, which must be resolved by a coordination strategy.A great challenge for CSOF is to develop an efficient coordination strategy in order to solve the conflict among sub-optimization problems.

Problem description
An optimization problem including three suboptimizations is studied as an example.Since state variables can be treated as special design variables, only coupling design variables are considered.The designs variables are classified into free variables and related variables.The coupling relation of the related variables is depicted in Fig. 2.
The variables of sub-optimization problems can be formulated as Eqs ( 1)-( 3): Where, X 1f , X 2f and X 3f are free variables vectors, and X 12 , X 13 and X 23 are related variables vectors, And X 123 = X 12 ∩ X 13 ∩ X 23 .In general models of sub-optimization problems are formulated as Eqs ( 4)-( 5):

The coordination model
When a sub-optimization puts forward a coordination proposal, the related sub-optimizations stop their optimization processes and the coordination process starts.The present values of the related variables for every sub-optimization can be formulated as Eqs ( 6)-( 8): The present values of the objective functions are denoted as F 1 (X 0 1 ), F 2 (X 0 2 ) and F 3 (X 0 3 ).Since the purpose of the coordination of the related variables is to find a variable scheme that satisfies every suboptimization problem,the essence of the coordination is an optimization problem itself and is given by Eqs ( 9)-(13): (10) The above coordination model includes all variables, all objectives functions and restrictions of all suboptimization problems, and has unambiguous meaning and good integrity.

A simplified computational method
It is nearly impossible to calculate directly the above coordination in spite of its unambiguous meaning and good integrity.To overcome the computational difficulty, it is necessary to study simplified computational methods of the coordination model.The simplified method simulates biological evolution processes to produce new design schemes by crossing and mutating of the related variables.Descendants differ from their ancestors by the use of natural selection based on valuating the objective functions of the coordination model.The above ideas come from genetic algorithm [21].The theory of the simplified computational method is shown in Fig. 3, which includes three main steps.
The first step is to form new design schemes by crossing and/or mutating of the related variables.The crossing operation of the related variables is defined by, where ⊗ is a crossing operator.If The theory of crossing operations is demonstrated in Fig. 4. The crossing place can be selected at random.
The mutating operation of the related variables is defined by, 1 where is a mutating operator and x m 3 = (x 1 3 + x 2 3 )/2.The theory of mutating operations is demonstrated as in Fig. 5.The mutant place can be selected at random.
The second step is a local optimization process for each new scheme applied to the related variables coming from the first step, where the related variables do not participate in optimization.Every sub-optimization problem finishes the process in order to obtain local optimal solutions.Finally, the objective functions of the coordination model are calculated and the optimal solution is selected.The convergence condition is defined as ε = (Obj k − Obj k−1 )/Ob j k .When ε ε 0 , the coordination process stops and the sub-optimization problems restart based on the coordination solution.When ε > ε 0 , the solution with its collaborative objective function being smallest is selected to produce new design schemes by crossing and/or mutating.
The above process is a loop process until the criterion ε ε 0 is satisfied.It is clear that all suboptimization problems obtained the shared value preference by crossing or/and mutating of the related design variables.So, the above coordination process is an evolution process for obtaining a satisfactory solution of all sub-optimization problems.

A multi-agent based collaborative optimization system
Multi-agent technology requires the coodination in group with intelligence in some degree, and is an imitation to human society on rational level.The notion of heterogeneous autonomous agents collaborating to solve problems is a powerful metaphor for the engineering of distributed and interoperable software systems.Using multi-agent technology for distributed collaborative optimization system is motivated by its following advantages: distributed architecture, autonomy, sharable [22].Distributed architecture makes it convenient to solve large-scale optimization problem, autonomy suits peer-to-peer optimization, and sharable promises to collaborate.

System architecture
As a peer-to-peer computing circumstance, distributed collaborative optimization system must meet the following requirements: easy linking of CAE tools, support for geographically distributed optimization, support for database management, extensible for optimization solvers and ability to perform trade-off between different design responses to assist exploration of Pareto solutions.
A multi-agent architecture for collaborative optimization is designed as shown in Fig. 6, including a management agent, a coodination agent, a computing agent, several optimization agents and some utility agents (not shown in the figure).The whole system works together and is based on the field ontology.The management agent facilitates exploring optimization models, planning optimization scheme, changing coodination parameters, observing coodination activities and so on.The coodination agent is responsible for coordinating related variables among optimization agents according to the coodination strategy discussed in section 3. The computing agent responses to computing requests (for example, FEA) coming from an optimization agent, and allocates computing tasks to a suitable computer on the INTERNET according to the reliable computing resources.

Field ontology creation
In the area of artificial intelligence, ontology belongs to the theory of content, studies the object classification, object properties and relationship among objects on special field knowledge, and provides terminology for description of field knowledge [23].Collaborative optimization system gains strong power for it's internal parallelity, flexibility and robustness based on the distributed technology.However, an agent is absorbed in the task on the field of itself, which cause the difficulty in cooperation and knowledge sharing.Hence, the methodology of ontology is introduced to set up the conceptual schema of collaborative optimization.Based on ontology principle, the conceptual schema of collaborative optimization is build up.Abstract gradation structure method is introduced to abstract collaborative optimization to be objects as Fig. 7.

Collaborative Optimization
Optimization objectiv e

Agent generation
A toolkit for constructing collaborative multi-agent applications named as ZEUS is used to facilitate developing the distributed collaborative optimization system.ZEUS is a culmination of a careful synthesis of established agent technologies to provide an integrated environment for the rapid development of multiagent systems [24].After ontology is created using ontology editor according to field ontology discussed in section 4.2, the generic agents are configured to fulfil its application-specific responsibilities during the agent creation stage.These agents' responsibilities are listed in Table 1.

Implementing an optimization agent
An optimization agent should be an integration of an optimization program, an optimization model and an agent.Moreover, in order to increase flexibility, an optimization model and an optimization program should implement flexible integration based on the characters of the optimization model.So, an optimization agent is designed as Fig. 8 shows.
Because the optimization program is written in C++ language and the agent is implemented in java language in our work, CORBA technology is used here to realize the communication between them.CORBA is a  9. Flowchart of the multi-agent system optimization system.transit structure, which can let multi-component communicate with each other on the network.Its characteristics include access transparency, network and location transparency, programming language independence, and hardware and operating system independence.The interfaces defined in the object of CORBA are listed in Table 2.

System application
The multi-agent based collaborative optimization system, written in the Java programming language, is running on the network and the running flowchart is Getting the used algorithm name demonstrated as Fig. 9. First, the NameServer agent is started which facilitates information discovery.Then the user interface agent is started which allows user to control the while system.When the NameServer agent and user interface agent have been started, the remote optimization agents and computing agents can start and join the system.After all agents have started, the user can browse or modify the related optimization models by JDBC programming, and can get information of computing resource by java RMI programming.
A collaborative optimization scheme is planed based on above information of the models and computing resource.Finally, the collaborative optimization process can be started.

Design optimization of a gear reducer
A gear reducer as shown in Fig. 10 is considered.The design objective is to minimize the weight of the gear reducer under 11 constraints (see the sub-optimization models).The meanings and the bounds of the design variables are: x 1 tooth width, 2.6 = x 1 = 3.6, x 2 module of gear, 0.7 = x 2 = 0.8, x 3 number of teeth of the smaller gear, 17 = x 3 = 28, x 4 distance of the first shaft bearing, 7.3 = x 4 = 8.3, x 5 distance of the second shaft bearing, 7.3 = x 5 = 8.3, x 6 diameter of the first shaft, 2.9 = x 6 = 3.9, x 7 diameter of the second shaft, 5.0 = x 7 = 5.5.
The solution obtained by the integral optimization is listed as Table 3.For collaborative optimization, the original problem is decomposed into three sub-problems as follows.

Design optimization of hydraulic excavator working equipment
The structures of the hydraulic excavator (Fig. 12) tend to be larger and heavier than the current type.This causes increasing complex design requirements, such as greater digging range, lower vibration and noise, and higher durability, etc.The design process needs the coordination of engineers with different disciplinary knowledge.Here, two sub-optimization problems, the working equipment sub-optimization problem and boom sub-optimization problem, are considered.The information of sub-optimization models is listed in Table 5.There are twelve coupling variables between the two sub-optimization problems.
Table 6 shows the results of collaborative optimization for a hydraulic excavator working equipment.From this table we can find that the first natural frequency, maximize digging force by arm, maximize dig-ging force by bucket, maximize digging depth, maximize digging radius and maximize digging height raise.The weight of the boom reduces.All of these results are expected.

Conclusions
The decomposition-coordination method has been used in complex engineering optimization for several decades.However, the successful application is limited due to lack of a flexible collaborative optimization system.This paper proposes a multi-agent based collaborative optimization system, in which a large optimization problem is decomposed into several smaller optimization problems.This would allow many optimization agents working in parallel for the sub-problems.Two engineering optimization examples are implemented by using this system and some promising results are obtained.

Fig. 6 .
Fig. 6.The architecture of a multi-agent based collaborative optimization system.

Fig. 12 .
Fig. 12.A general view of a hydraulic excavator.

Table 2
Interfaces defined in the object of CORBA

Table 3
Solution obtained by the integral optimization

Table 4
Result obtained by collaborative optimization

Table 5
The information of sub-optimization models