IJCSI International Journal of Computer Science Issues, Vol. 3, 2009 ISSN (Online): 1694-0784 ISSN (Printed): 1694-0814 0.1 (obviously, we increase at the same time the cost coefficient by 0.1). Finally, we calculate the sub-route's weight taking into consideration only the cost parameter 
(the duration coefficient has become 0). 

![0_image_1.png](0_image_1.png) 

This process is described in pseudo-code as follows: 
{ 
costCoef Å 0.0; durationCoef Å 1.0; step Å 0.0; while step ≤ 1.0 calculate 
 { 
costCoef Å step; durationCoef Å 1-step; weight[i][j] Å costCoef*Wcost + 
durationCoef*Wduration; perform shortest path algorithm; step Å step + 0.1; 
 } } 
The outcome of the above process is then presented to user. As shown in Figure 4 (which depicts an instance of the related system interface), the optimal routes for a transportation request from Athens to *Patra* have been retrieved (after a related request). The basic characteristics of each route are presented in the main table of the web interface. By selecting the "View Details" option, the user is able to receive an analytical description of the subroutes contained in each itinerary, as well as their corresponding characteristics. Solutions at this phase are ranked by default according to the cost; in any case, users may request alternative rankings by clicking on the corresponding column header. 

![0_image_0.png](0_image_0.png)

## 4. Integrating A Recommendation Module 4.1 A Hybrid Recommendation Methodology

The recommendation procedure begins immediately after the abovementioned construction of the alternative solutions. It is a complex process which is carried out in three basic phases, which are: 
- the evaluation of the carriers and the transactions data; 
- the exploitation of transaction data through a data mining process, and 
- the recommendation methodology selection or synthesis. 

At the beginning of the process, the system stores all the appropriate data that are submitted by the user and are related with pending or completed transportation transactions. These data are of significant importance and will be further exploited by the data mining process. Moreover, in this phase the user evaluates (i.e. assigns a score to) the carrier(s) involved in a transaction through an appropriate interface. 

The second phase of recommendation concerns the data mining process. Data mining is a useful decision support technique, which can be used to find trends and regularities in big volumes of data. At this phase, transactions data are gathered through knowledge construction processes. In our case, the data mining process constructs a model from the recommendation module's database that may produce well defined knowledge rules. This procedure is performed through SQL queries performed on the transactions' tables. After the completion of this process, the constructed knowledgebased rules participate in the production of knowledgebased recommendation data that will be evaluated and synthesized in the last phase of recommendation. 