Optimisation of Resource Scheduling in VCIM Systems Using Genetic Algorithm

The concept of Virtual Computer-Integrated Manufacturing (VCIM) has been proposed for one and a half decade with purpose of overcoming the limitation of traditional Computer-Integrated Manufacturing (CIM) as it only works within an enterprise. VCIM system is a promising solution for enterprises to survive in the globally competitive market because it can exploit effectively locally as well as globally distributed resources. In this paper, a Genetic Algorithm (GA) based approach for optimising resource scheduling in the VCIM system is proposed. Firstly, based on the latest concept of VCIM system, a class of resource scheduling problems in the system is modelled by using agent-based approach. Secondly, GA with new strategies of handling constraint, chromosome encoding, crossover and mutation is developed to search for optimal solution for the problem. Finally, a case study is given to demonstrate the robustness of the proposed approach. Keywordsoptimisation; genetic algorithm; resource scheduling; virtual computer-integrated manufacturing system.


INTRODUCTION
Computer-Integrated Manufacturing (CIM) is a manufacturing strategy of using computers and communication networks to fully integrate all of production processes into a highly interconnected manufacturing system.A network of interconnected CIM systems which are globally distributed is defined as Virtual Computer-Integrated Manufacturing (VCIM) system [1,2].The concept of VCIM system has been proposed for one and a half decade with purpose of overcoming the limitation of traditional CIM system as it only works within an enterprise.VCIM system is a promising solution for enterprises to survive in the globally competitive market because it can exploit effectively globally as well as locally distributed resources.
The VCIM system is still being developed and the latest concept of VCIM system can be explained as follows.Main purpose of VCIM is to effectively share distributed resources and management objectives.
Although, different enterprises which might be located at different areas have their own manufacturing resources, they intend to temporarily work together in an integrated manner to fulfill specific product orders.When the orders are fulfilled, this temporary system disappears.The virtual status of those temporary manufacturing systems is a special characteristic of VCIM system, compared with traditional manufacturing system.That is why the word "virtual" is used in the VCIM concept [2].
One of the key issues that have to be resolved to make the VCIM happen is how to organise manufacturing resources to produce a specific product.When receiving an order from customer, VCIM system generates automatically all possible manufacturing resource schedules in which the resources could be locally or globally distributed and find the best schedule in real time to form a temporary manufacturing system to fulfill the customer's order.Different orders or even the same orders but at different time might require different temporary manufacturing systems.This is a class of highly constrained optimisation problems which requires a robust approach to deal with the dynamic environment in the system and then find an optimal solution, especially for large-scale practical problems.
Literature review shows that although resource scheduling is very important to VCIM system, the number of research dealing with the problem is very limited.There has been only one approach proposed and developed by the same group of researchers [2][3][4][5][6][7].Furthermore, this approach is not capable to find a global optimum.
In this paper, Genetic Algorithm (GA) based approach for optimising resource scheduling in VCIM system is proposed.First, the latest concept of resource scheduling in VCIM system proposed by [2] is modelled as a multi-agent system and then GA is developed to optimise the model.The proposed GA is capable to deal with dynamic environment of the system by automatically changing the size of chromosome according to specific product orders of customers.It is also capable to search for optimal solution for the resource scheduling very quickly.To do so, some strategies of crossover, mutation and handling constraints to make the chromosomes in the GA feasible are developed and presented herein.
The rest of this paper is organised as follows.Section 2 discusses the literature review on the latest VCIM concept and approach used to optimise resource scheduling in the system.Research methodology based on GA, which is proposed to optimise the resource scheduling, is introduced in Section 3. Section 4 is about case study used to demonstrate the robustness of the GA based approach.Some conclusions and future work are given in Section 5. www.ijarai.thesai.org

II. LITERATURE REVIEW
The concept of VCIM system has been proposed by Lin [8] since 1997.This concept is relatively new and still being developed.As the nature of a distributed system, the agentbased approach is the most appropriate approach to model the VCIM system.The latest agent-based VCIM architecture can be described as follows.There are three types of agents: facilitator agent, customer agents, and resource agents.Facilitator agents work as coordinators to manage the information flow across the VCIM system.Customer agents are to provide interfaces for customers to participate in the system.Resource agents are manufacturing functionalities in the VCIM system such as assembly workshop, material provider, delivery facility, design department, etc.All of the agents are connected to each other via Internet.The system works as follows.When receiving a product-request message, customer agent passes it to facilitator agent.The request is then decomposed into interrelated subtasks by the facilitator agent, according to the registered functionalities of resource agents and the built-in knowledge base of the facilitator agent.Functionalities of resource agents could be product design, material supply, manufacturing, assembly, test, package and warehousing.Next, the facilitator agent selects resource agents to perform the subtasks based on multiple criteria such as suitable functionality, time frame, availability, cost, quality, friendship, credit, transportation service and delivery reliability.The result of this selection is resource schedule from which facilitator agent forms a temporary manufacturing system to fulfill the customer's order [2][3][4][5][9][10][11].It is clear that different customer order or even the same order requested at different time in VCIM system requires different temporary manufacturing system.
It can be clearly seen that resource scheduling problem in the VCIM system associates with hard precedence constraint, supply chain management, resource allocation and task sequencing.Precedence constraints are generally divided into two categories: hard precedence constraints and soft precedence constraints.A hard precedence constraint is a constraint that makes the solution illegal or infeasible if violated, while a soft precedence constraint is a constraint that imposes a penalty if violated rather than rendering the sequence and schedule infeasible.Assembly sequence and selection of resource agent to do a given subtask are examples of hard precedence constraints.In addition, one of the special characteristic of this problem is that the size of its solution is variable which depends on the nature of the requested product.This is because different products could be decomposed into different number of subtasks and sometimes one resource agent can do several different subtasks.Therefore, the number of resource agents required to do those subtasks could be different.To optimise production scheduling problem associated with soft precedence constraint and variability of solution size, GAs with variable length chromosomes have been proposed by some researchers [12][13][14][15].However, supply chain management and hard precedence constraints have not been integrated into those schedules yet.
Main advantage of VCIM system is the effective sharing globally and locally distributed resources.Therefore, resource scheduling plays an important role in the system.However, the research on this problem is still very limited.Literature review shows that there has been only one approach proposed to optimise the resource scheduling in VCIM system.To optimise the resource scheduling for a given product request, some researches [2][3][4][5][6][7] proposed and developed the Backward Network Algorithm for Shortest-path.In general, this approach includes the following steps in the resource allocation process which is done after the customer order is decomposed into interrelated subtasks: Step 1: Facilitator agent selects a subtask by using a backward sequence (the final subtask is selected first and vice versa).
Step 2: Facilitator agent selects resource agents to perform the selected subtask in Step 1 by matching the subtask and resource agent's functionality.
Step 3: Facilitator agent requests all transportation proposals to transport the parts from the selected resource agent in Step 2 to the previously selected resource agent due to the backward sequence.It is noted that for the final subtask, transportation proposals are to transport the requested product to the customer.
Step 4: Facilitator agent short-lists transportation proposals, achieved in Step 3. In this selection process, a transportation proposal having the lowest cost is selected.If there are more than one transportation proposals having the lowest cost, the one with the latest start time is selected.
Step 5: Facilitator agent combines the selected subtask in Step 1, the selected resource agent in Step 2 and the selected transportation proposal in Step 4 to form an intermediate schedule.There could be many intermediate schedules, if there are many in the short-listed transportation proposals in Step 4.
Step 6: Facilitator agent short-lists intermediate schedules that are achieved in Step 5. Intermediate schedules having a lower cost or a higher cost but with a later start time are selected.The first 6 Steps result in the intermediate schedules to complete the selected subtask in Step 1 by the selected resource agent in Step 2.
Step 7: Facilitator agent repeats Steps 2 to 6 until all resource agents have provided proposals to perform the subtask selected in Step 1.After the first 7 Steps, a set of intermediate schedules to complete one selected subtask in Step 1 is achieved.
Step 8: Facilitator agent repeats Steps 1 to 7 until all subtasks have been completed.When the schedules for a new subtask are achieved, new intermediate schedules are formed by including the new subtask's schedule information such as: the selected subtask, resource agent and transportation proposals.As a result, full production schedules are achieved when all subtasks are completed.
Step 9: Facilitator agent selects the best full resource schedule based on total cost and time required.
It can be clearly seen that the existing approach cannot be able to find a globally optimised solution for the resource scheduling problem in the VCIM system because of the way that the full resource schedules are formed.Given that the www.ijarai.thesai.orgintermediate schedules to complete every single subtask achieved in Step 7 are optimised, there is no way to guarantee that the full resource schedules formed by adding above optimal intermediate schedules without any negotiation between them as presented in Step 8 are globally optimised.
To overcome this limitation, this paper proposes GA based approach for optimising resource scheduling in the VCIM system.

A. Problem Modelling
Based on the ideas from the previous works [2-5,7,9-11], a class of resource scheduling problem in the VCIM system considered in this research, at this stage, is modelled as follows.

Consider:
 There is a VCIM system capable to produce N different products. The products can be made by assembling number of different parts or groups of parts. The VCIM system has M different manufacturing agents with certain functionalities, which are locally or globally distributed. Each manufacturing agent is capable to produce a limited number of different parts of a product and it is also able to assemble particular groups of parts. The system also has K final assembly agents in which the product's parts or groups of parts can be assembled together to form final products and then they are tested and packed before being transported to the customers.It is noted that locations and operation costs of those final assembly agents are known. Costs of each part or a group of parts produced in different manufacturing agents are different but known in advance. Distances and transportation costs between the manufacturing agents and the final assembly agents or the final assembly agents and the customers are all known. Determine: Which manufacturing agents and final assembly agent to be selected to form a temporary production system to fulfill the customer's orders.

So that:
Cost of the product is minimised while all of the given constraints are simultaneously satisfied.

Conditions:
 All of the agents have no limitation in capability of performing their designed functions. Time constraints in this scheduling problem are ignored. All of the products can be decomposed into a number of parts or groups of parts which are all known in advance. Final assembly agents are all able to form any final product in the VCIM system but with different costs.

B. Optimisation Methodology
To find an optimal solution to the problem described above, a GA with new features in chromosome encoding, mutation and crossover operations is proposed herein.There are five main components of the GA as follows:

 Chromosome Encoding
To encode solutions for the problem, chromosomes in this GA have two parts: main part and additional part to represent part-manufacturing agent allocation and final assembly agent selection, respectively.Main part of a chromosome is defined as a matrix with the size of C x R where C is the number of decomposed parts or groups of parts needed to assemble a requested product and R is the number of manufacturing agents in the VCIM system.In Table 1, there is one example of main part of chromosome where C and R are 20 and 15, respectively.
Clearly, for a given VCIM system, R is constant and C is variable.That is because C depends on nature of different products requested.All elements in the C x R matrix are binary, 0 or 1.The number "1" in the matrix means that the manufacturing agent in its row is selected to complete the part or group of parts in its column.The number "0" or blank cell in that matrix means that the corresponding manufacturing agent is not selected to complete the corresponding part or group of parts.This part of chromosome represents the allocation of manufacturing agents to complete the parts or group of parts.

TABLE 1. A MAIN PART OF A CHROMOSOME
The other part of the chromosome is a binary string with the length of K representing the selection of final assembly agent to form final product as customer's requirements.As all final assembly agents are assumed to be capable to form any final products in the system, the best one in regard to the main part should be selected to form additional part of chromosome which looks like Table 2.As a result, the additional part is related to the main part and there is no need to select at random a final assembly agent to form the additional part.It means that the additional part of chromosome is generated according to its main part.Because of the assumption that all final assembly agents are capable to form any final product in the system, the feasibility of the chromosome depends only on its main part.To generate a main part of feasible chromosomes, the following steps are proposed.
Step 1: Check the size of the main part of chromosome based on information from database about the requested product.
Step 2: Generate a zero matrix with the same size as obtained in Step 1.
Step 3: Select at random one part or group of parts of the requested product which corresponds to one column in the zero matrix, denoted as x.
Step 4: Check database to find out which manufacturing agents are able to complete the selected part or group of parts in Step 3 based on their functionalities.
Step 5: Randomly select one manufacturing agent among those in Step 4, denoted as y.
Step 6: Insert number "1" in a cell located at column x and row y in the zero matrix.
Step 7: Repeat Step 3-6 until all parts or group of parts of a given product are selected.
As a result, the main part of feasible chromosome is as shown in Table 1.

 Genetic Operators
Due to nature of the chromosome, a modified crossover and mutation operations are required.This paper proposes that crossover and mutation operations are only applied to main part of chromosome.That is because the additional part is automatically determined after the main part is generated, based on overall cost of schedule encoded in the corresponding chromosome.In addition, after crossover and mutation operations applied as shown in Tables 3 and 4, offspring chromosomes are checked and repaired to make them feasible.To check the feasibility of the offspring, geneby-gene feasible checking approach is proposed.It is noted that a gene herein is defined as a column in the main part of chromosome, the highlighted columns in Table 4, for examples.By matching the manufacturing agent's functionality to the part or group of parts in the gene, the feasibility of a gene can be determined.The principle in the proposed gene-by-gene feasible checking approach is that if a gene is feasible, it is accepted, otherwise, a new gene is generated by following steps: Step 1: Delete all information in the gene.This gene is now a zero matrix with size of 1 x R.
Step 2: Check the database to find out which manufacturing agents are able to complete the part or group of parts in the selected gene.
Step 3: Randomly select one manufacturing agent among those in Step 2, denoted as z.
Step 4: Insert number "1" in a cell located at column 1 and row z in the zero matrix in Step 1 to form a new feasible gene.

 Evaluation
The chromosomes in the GA are evaluated through one objective function which is the total cost of the requested product.Total cost for a product is calculated as follows.

TC = CP + CA + CT1 +CT2
Where: TC is total cost of the product; CP is total cost of parts or groups of parts made in the selected manufacturing agents; CA is final assembly cost in the selected final assembly agent; CT1 is total cost of transportations between the selected manufacturing agents and final assembly agent; CT2 is cost of transportation between the selected final assembly agent and the customer's product delivery destination.

 Selection
In this paper, roulette wheel approach [16] is used to select the population for the next generations.This approach belongs to the fitness-proportional selection and selects a new population based on the probability distribution associated www.ijarai.thesai.orgwith fitness value, calculated through the objective function above.
The proposed GA has classical structure and it is implemented in Matlab to search the optimal solution for the problem.A case study is given to illustrate the proposed approach.

A. Modelling of the Scheduling Problem
To illustrate the proposed approach and demonstrate its capability, a case study is given and described as follows.
There is a VCIM system with 15 manufacturing agents, 5 final assembly agents which is capable to produce 10 different products.Distances between the manufacturing agents and the final assembly agents are given in Table 5.There are 14 different product delivery destinations required by customers.Distances between the final assembly agents and the product delivery destinations are given in Table 6.The rates of different transportations are given in Table 7.In addition, the products can be made by assembling a number of different parts as shown in Table 8.Moreover, final assembly costs for different products are detailed in Table 9. Capabilities of the manufacturing agents in completing parts or groups of parts for different products are detailed in Table 10.It is noted that because of lengthiness, a part of Table 10 is given herein.Lastly, costs of parts or groups of part for different products made in different manufacturing agents are given in Table 11.Again, due to lengthiness, a part of Table 11 is given herein.
Problem here is that which manufacturing agents and final assembly agent should be selected to form a temporary production system to fulfill the customer's order so that total cost of the requested product is minimised.

Conditions:
 All of the agents have no limitation in capability of performing their designed functions. Time constraints in this scheduling problem are ignored. Final assembly agents are all able to form any final product in the VCIM system.

B. Results and Discussion
The proposed GA has been successfully implemented in Matlab and has been comprehensively tested for convergence and consistence of the solutions.It is evident that GA cannot guarantee to find best solution after only one run.However, it is very good at finding good/best solution(s) reasonably quickly.Therefore, it is easy to evaluate the quality of solutions by comparing different runs.Accordingly, the best solution among the ones obtained from different runs should be selected.If the number of runs is large enough, this validates the global optimality of the solution [17,18].
Without losing generality, it is assumed that product 4 is requested by a customer and the required delivery destination is 5.In this case study, the GA was run for 200 times with different parameters and experiment results are shown in Tables 12 and 13.The probability of obtaining the minimum value of the objective function, the cost of the requested product, is visualised and estimated as the three-parameter lognormal distribution by Minitab software as shown in Fig. 1.The result shown in Tables 12 and 13 indicates that the GA with population size of 100, crossover rate of 50%, mutation rate of 60% gives the better solutionsthe lowest average cost of $4887.8.The lowest cost of the product achieved, corresponding to the globally optimal solution, is $4803.1.The convergence of the GA for that solution is shown in Fig. 2 and detail of the solution is shown in Tables 14 and 15.
The experiments show that the proposed GA is consistently convergent towards an optimum within a very small amount of computational time, just less than 2 minutes.It is evident that the proposed approach can easily accommodate much larger and more complex resource scheduling problems in the VCIM system.
To the best of our knowledge, there has not been any quantitative research on resource scheduling in the VCIM system yet.Therefore, it is impossible to compare the quality of the solution obtained here in this case study to the others.www.ijarai.thesai.org

V. CONCLUSIONS AND FUTURE WORK
In this paper, a class of resource scheduling problems in the VCIM system has been modelled.Due to the nature of constraints, the GA with new strategies for chromosome encoding, crossover and mutation operations have been developed to optimise the model.
Robustness of the proposed GA has been verified in the case study by extensive tests with various input parameters.The evolution of the output is consistently convergent towards the optimum within a very small amount of processing time.It is evident that the proposed approach can easily accommodate much larger and more complex resource scheduling problems in the VCIM system.

Future work focus on:
 Generalisation of the VCIM model by adding more realistic and complex constraints. Incorporation of stochastic events into the model. Improvement of the proposed GA for the extended resource scheduling problems. Verification of the solutions obtained from the GA by simulation software such as Automod.

Figure 1 .
Figure 1.Probability of obtaining the globally optimal solution

TABLE 2 .
AN ADDITIONAL PART OF A CHROMOSOME www.ijarai.thesai.org

TABLE 5 .
DISTANCES BETWEEN AGENTS (In Km)

TABLE 6 .
DISTANCES BETWEEN AGENTS & CUSTOMERS (In Km)

TABLE 8 .
THE DECOMPOSED PARTS OR GROUP OF PARTS

TABLE 9 .
FINAL ASSEMBLY COST FOR PRODUCTS (In $)

TABLE 10 .
FUNCTIONALITIES OF MANUFACTURING AGENTS

TABLE 11 .
COSTS OF PARTS MADE IN AGENTS (In $)

TABLE 12 .
THE COST ACHIEVED BY THE GA WITH DIFFERENT MUTATION RATE (POPULATION: 100, CROSSOVER: 50%)

TABLE 13 .
THE COST ACHIEVED BY THE GA WITH DIFFERENT CROSSOVER RATE (POPULATION: 100, MUTATION: 50%)

TABLE 14 .
FIRST PART OF THE OPTIMAL SOLUTION www.ijarai.thesai.org