Krikor Maroukian
email: krikor.maroukian@kcl.ac.uk

Kevin Lano
email: kevin.lano@kcl.ac.uk

Mohammad Yamin
email: myamin@kau.edu.sa

Towards Automatic Generation of Project-based Solutions

Modern business models and processes usually demand an integrated utilisation of business frameworks and methodologies, such as PRINCE2 ® and PMBOK ® , to produce meaningful business documentation and solutions. Often, the use of such frameworks is a prerequisite to engage with public or private sector large-scale projects. However, models contained in such frameworks usually lack formal semantics which may lead to inconsistencies between modeling solutions. The maintainability and reusability of such models tends to require manual intervention which is susceptible to human error. Software engineers used to experience similar issues and partially solved these by introducing a model-driven approach called Model Driven Architecture. In an attempt to adapt to industry needs, over the past five years Domain Specific Modeling has experienced increased popularity. The authors propose a transfer of concepts and logic from MDA and DSM to a projectbased model-driven approach; facilitating the automated production of supportive documents for business decision making.

Introduction

Rapidly changing business environments require frequent re-calculation of business strategies. Such changes are frequent and unpredictable. Human responses to these changes can be prone to human error and not within the required timeframe. The current industrial landscape predisposes business solutions (business decisions and supporting documentation) with a number of defects in terms of lack of understanding and implementation of frameworks, methodologies and best practices. As a consequence, informal models or even non-modelled business solutions offer limited value to the business.

Such informalities, may lead to a number of limitations such as: the requirement for model specific training, difficulty in capturing changing business requirements and the use of inconsistent models which are often out dated. Effectively, changes that will not be included in all corresponding models will create inconsistencies since the models will no more reflect the actual business requirements. Subsequently, models will be discarded. "Often, the modellers themselves have disappeared, and any knowledge that wasn't captured in the specialised models is inaccessible, forgotten, or written off" [START_REF] Denno | Model-Driven Integration Using Existing Models[END_REF]. In addition, informal models are limited to use by individuals, small teams or within single organisations due to the lack of information clarity and understanding of non-standard models among different teams or members. This leads to the inability to address key business environment factors.

In the last decade, software engineering solved most of the system modelling problems with the introduction of the Model Driven Architecture framework (MDA). MDA divides models into four abstraction layers; Computational Independent Model (CIM), Platform Independent Model (PIM), Platform Specific Model (PSM) and generated code. The key idea behind MDA is the production of formal models through consistent model transformation. Models of the PIM layer are transformed to models of the PSM layer and then to code. At each layer, the user can add details or tune the models as needed. Any model can participate in an MDA transformation as long as it has a corresponding meta-model. A meta-model is a model that explains the semantics of its corresponding model. In other words, a meta-model is data about data.

Our research extends the applicability of MDA and uses it to solve business modelling problems in the project management domain. In effect, a domain can be characterised as a business discipline, customer, company, contact, location. Domain Engineering such as Product Line Engineering, is the entire process of reusing domain knowledge in the production of new software systems. An essential idea in systematic software reuse is the application domain, a software area that contains systems sharing commonalities [START_REF] Roebuck | Model-driven Architecture (MDA): High-impact Strategies -What You Need to Know: Definitions, Adoptions, Impact, Benefits, Maturity[END_REF].

The reason the author's attempt to shed light on project-based modeling and automation regards noteworthy references from the MDA community on benefits realised in software development project management. As a result, this paper proposes a project-based approach to inherit the MDA concepts of Modelling and Meta-modelling, separate modelling layers and model transformations. This could potentially inherit a number of MDA established benefits realised over the past decade as follows ( [START_REF] Mohagheghi | Where Is the Proof? A Review of Experiences from Applying MDE in Industry[END_REF], [START_REF] Guttman | Real-Life MDA: Solving Business Problems with Model Driven Architecture[END_REF], [START_REF] Presso | Applying MDA to Voice Applications: An Experience in Building an MDA Tool Chain[END_REF], [START_REF] Staron | Adopting Model Driven Software Development in Industry -A Case Study at Two Companies[END_REF], [START_REF] Bloomfield | MDA, Meta-Modelling and Model Transformation: Introducing New Technology into the Defence Industry[END_REF], [START_REF] Burgstaller | Using Domain Driven Development for Monitoring Distributed Systems[END_REF], [START_REF] Baker | Model-Driven Engineering in a Large Industrial Context -Motorola Case Study[END_REF], [START_REF]Model Driven Software Development and Offshore Outsourcing[END_REF]):

 Increase productivity and reliability through automated generation of business related documentation;  Reduce time-to-market solution;  Richer model semantics;

 Models with higher formality.

The proposed framework will be capable of supporting corporate decision making through business solutions provided that their corresponding meta-models are present. This project-based approach can be utilised as a solution generation tool to offer artefacts given the appropriate meta-model or pool of metamodels, model transformations and/or reusable project-based artefacts (meta-model or transformation).

Further to the introduction, this paper is organised as follows; in section (2) the definition of a model is illustrated and current modelling issues in software development are presented. Section (3) discusses in brief the various aspects of Model Driven Architecture. Section (4) presents a thorough account of the proposed projectbased approach. Research conclusions and future work are discussed in section (5).

Project-based Modelling Issues in Software Development

A model is a representation of a concept from the real world. An interpretation of a model gives a model meaning [START_REF] Seidewitz | What models mean[END_REF]. Models are widely used and are essential in other disciplines. For instance, prior to the construction of a bridge civil engineers produce a design that will be utilised as a blueprint for the construction of the bridge. It is not possible to start the construction of a bridge without any designs. However, it is not uncommon to start a business project without any planning and sometimes without concise and well-defined requirements or specifications or even clear business goals and objectives.

The paradox is that, software engineering can benefit more from models than other disciplines [START_REF] Bran | The pragmatics of model-driven development[END_REF]. The current problem with models [START_REF] Anneke | MDA Explained: The Model Driven Architecture: Practice and Promise[END_REF] is that most of the models are described in an abstract layer which is not very useful, indicating, what needs to be done at a given moment in time.

Nevertheless, business requirements change so rapidly that it is possible that the requirements might change while the project is still under development. Most of the cases the business solution will not reflect the design due to the high abstraction level of the design, time and/or cost constraints as well as incorrect or incomplete design. Provided there is a change request it is very likely that it will only change in the business solution and there is a possibility that nobody will update the design. These reasons will create an inconsistency between solution and design that will lead to the infrequent use or ultimately the disposal of the design.

Therefore, there is an explicit industry need to address platform complexity and the inability of third generation languages to alleviate this complexity and express domain concepts effectively. There exist MDA tools which can be employed to address these issues such as Eclipse Modeling Framework (EMF), Graphical Editing Framework (GEF), Graphical Modeling Framework (GMF) to which IBM contributes, Microsoft MS/DSL Tools, and Model Integrated Computing (MIC) utilised by Generic Modeling Environment (GME) developed by Vanderbilt University.

Model Driven Architecture

Prior to proposing a solution it is worth investigating how software engineering solved modelling issues presented in section [START_REF] Mohagheghi | Where Is the Proof? A Review of Experiences from Applying MDE in Industry[END_REF]. Model Driven Architecture (MDA) is a software development approach launched by OMG, [START_REF] Omg | Meta Object Facility (MOF) Specification[END_REF]. The key idea behind the MDA framework is the separation of the development into three layers and the automatic transformation of models between the four layers by software tools. The business processes and requirements of the CIM layer are mapped to PIMs. These are then transformed to PSMs which are then transformed to code.

Human experts can execute manual tuning to each model and these changes will be carried over to the next model. MDA software tools allow changes made at a higher layer of the MDA to be reflected at the lower layers of the framework."MDA is potentially advantageous because it shifts complexity away from developers and into the tool chain and, hence, the PIM-to-PSM transformation" [START_REF] Weis | Model Metamorphosis[END_REF]. MDA uses the Unified Modelling Language (UML), OMG's main modelling standards which are ISO standards and ITU-T recommendations. There are several model transformation languages; UML-RSDS [START_REF] Lano | Advanced Systems Design with Java UML and MDA[END_REF], Epsilon [START_REF] Kolovos | The Epsilon Book[END_REF], QVT-R, ATL, Kermeta, GrGen.NET. A comparison on the characteristics of some of these languages can be found in [START_REF] Lano | Comparative Evaluation of Model Transformation Specification Approaches[END_REF].

A Project-based Approach

A project management oriented approach attempts to address Model Business Engineering (MBE) issues with an aim to assist project managers and other project stakeholders generate day-to-day business documents and/or perform decision making activities in an increasignly automated manner.

Research in the area of transformations of UML Activity Diagrams to BPMN 2.0 has indeed been stated in e-Government systems [START_REF] Kalnins | Use of UML and Model Transformations for Workflow Process Definitions, Databases and Information Systems[END_REF], [START_REF] Heitkoetter | Transforming PICTURE to BPMN 2.0 as Part of the Model-Driven Development of Electronic Government Systems[END_REF]. There is also evidence for the BPMN 2.0 to UML Activity Diagram transformation [START_REF] Macek | The BPM to UML activity diagram transformation using XSLT[END_REF]. However, such empirical research has not been considered in the industrial domains of project management for frameworks such as PRINCE2 ® and PMBOK ® as well as service management such as ITIL ® .

The project-based approach can be characterised as 'a structured approach to automated generation of modelled artefacts in the context of business disciplines, that can form the basis of decisions, business documents and/or business activities. ' This approach can reach its end result i.e. business solution generation, through two abstraction layers; Project Specific Layer (PSL) and Business Solution Layer (BSL). The end result e.g. documentation, can lead to management decisions and/or a set of actions. A mechanism to support reuse of best practices when creating families of business solutions would be appropriate to consider at this stage.

To visualize a software model transformation consider Java or C++ code as the implementation solution i.e. PSM, see section 3. The model describing the code functions and variables is one abstraction layer higher than the implementation layer i.e. PIM, see section 3. In a similar way, project management documents or decision making artifacts can be characterised as part of the implementation layer or BSL. The model describing the BSL is the PSL.

The project-specific layer ensures a modelled business and leads to business solution. The business solution layer would effectively depict the real data relating to information fed in the previous layer.

In certain instances, capturing project stakeholder related information can be of substantial value in formulating an accurate business solution such as business policies that do not allow employees to work beyond the eight-hour shift since these set their rules in the environment in which the project is executed. Hence, capturing environment information can be vital for the success of projects.

Information pertinent to a specific project framework should be utilised in the project specific layer. Any pertinent information to e.g. PRINCE2® or PMBOK ® should be utilised. Finally, PRINCE2 ® or PMBOK ® produced documentation, roles, processes and functions signify a modelled business solution.

The project-based approach can help architects commit changes at the projectspecifc layer which can then propagate to the business solution layer instead of having a monolithic transformation. The next sections describe thoroughly the projectspecific layer.

Project Specific Layer

The project-specific layer can be defined as 'the depiction of project-based elements e.g. tasks, activities, resources, that can facilitate real world business solutions. ' In this layer, it is recommended to select models from well established frameworks or industry standards with worldwide recognition. The accuracy of the result will heavily depend on the selected framework.

Taking into consideration the information available such as a meta-model that clearly states that the more certified PMs in structured PM frameworks the more successful that PM framework could prove to be in an organisation, it is clear that a structured PM framework would be selected for use within the enterprise. The business solution would relate to real data such as strategic corporate decision of whether to use a structured or agile PM framework. The business solution can be anything from a simple decision to complex models supported by vast documentation. In the scenario considered the business solution can either be a 'Yes' or a 'No'. In order to reach this stage, the data from PSM has to be extracted.

Business Solution

The business solution layer can be defined as 'the resulting business document(s), charts and descriptive information for a specfic project.'

The business solution layer, contains the produced business documents such as business plans, progress reports, status reports, risk analysis documents, time tables, schedules and more artifacts that can be used for both day to day operation or strategic level information. Before this static documents are generated their corresponding meta-models are required.

There can be actions defined as activities to be performed by a human or software agent. Such actions can include, sending emails, perform transactions, make payments and more. To support the generation of such dynamic artifacts their corresponding meta-models should also include triggers with pre and post conditions. These can be defined in OCL or any other constraint language and must also be supported by the software tool producing the project-based model.

The project-based layers have been presented and thoroughly discussed. However, a closer examination of the approach with an example can form a concrete definition.

BPMN to UML-RSDS Transformation

Project change is inevitable whether it comes from within the project or from external factors influencing project scope. For these reasons, whenever change occurs, an agreed logical change management process has to be initiated that allows the project to identify, assess and control any potential and approved changes to the original baselines that where originally agreed for the project.

In addition, the use of a standardised change management approach can serve as a control agent to any Request-for-Change (RfC). Once the project scope and other key associated documents have been approved, these become the project "baselines" and can only be changed after approval by the appropriate authority; normally the Change Advisory Board. Change control and hence change management is not there to prevent changes, but to ensure that every change is agreed by the relevant authority before implementation. This section presents the transformation of a BPMN projectspecific model from PRINCE2 ® , see The next step is to produce the corresponding model using the UML-RSDS transformation engine based on a set of rules that apply for BPMN models. The transformations supported by UML-RSDS regard BPMN 2.0 elements set i.e. flow objects, connecting objects, artifacts. Swim lanes are not included in the below example nor can they be currently supported.

Rules

The mapping is described by one rule, and the execution semantics by several updatein-place rules defining how a process instance may evolve, and how its tokens may move around the process. The rules are described in textual representations derived from UML-RSDS models. "If the process has a StartEvent sn which has only TimerEventDefinition, create a process instance pi for the process, with one token at sn".

Process Instantiation

Normal termination These are postcondition use cases of Process Instantiation:

state@pre = RUNNING & process.flowElements->exists( e I e : EndEvent ) & tokens@pre->forAll( t I t.element <: EndEvent ) => state = FINISHED & tokens@pre->isDeleted() state@pre = RUNNING & process.flowElements->forAll( e I e /: EndEvent ) & tokens@pre.element->forAll( n I n : FlowNode & n.outgoing->size() = 0 ) => state = FINISHED & tokens@pre->isDeleted() Either (i) the process has an EndEvent, and all its tokens occupy EndEvent nodes, or (ii) the process has no EndEvent, and all its tokens occupy nodes with no outgoing flow. In either case the process is set to FINISHED and all its tokens deleted.

Starting a process instance

Entering parallel gateway

Here we assume that there is at most one token for a given process instance on each flow element.

The process instance can enter parallel gateway pg if it has a token on every incoming flow of pg, and there is at least one such flow: A single token ti for the process instance on pg is then created, and the set v of the instance tokens on the incoming flows of pg is deleted.

In this case the constraint requires fixed-point iteration, as it writes the same data (Token: :element) that it reads. The let variable v is used to store the prevalue of the expression it is assigned.

  Fig 1, to its UML-RSDS derivative model.

Fig. 1 .

 1 Fig. 1. Change Management Procedure of a Project

  This is formalised by the following use case initialise postcondition on Process: sn : flowElements & sn : StartEvent & sn.eventDefinitions->forAll( ed I ed : TimerEventDefinition ) => ProcessInstance->exists( pi I pi.state = RUNNING & self : pi.process & Token->exists( t I t : pi.tokens & sn : t.element ) )

  state = RUNNING & pg : Para11e1Gateway & ν = tokens->select( t I pg.incoming->exists( sf I sf : t.element ) ) & v.size > 0 & v.size = pg.incoming->size() => Token->exists( t1 I pg : t1.element & t1 : tokens ) & v->isDeleted()

  A process instance can start if it has a token t on a start event with at least one outgoing flow: The same step applies if the target is a Task: state = RUNNING & t : tokens & fe : t.element@pre & fe : SequenceFlow & fe.targetRef : Task => t.element = Set{ fe.targetRef } Leaving Tasks A process instance which has a token t on a Task fe can leave fe if fe has at least one outgoing flow: state = RUNNING & t : tokens@pre & fe : t.element@pre & fe : Task & fe.outgoing->size() > 0 => t->isDeleted() & fe.outgoing->forAll( sf I Token->exists( t1 I sf : t1.element & t1 : tokens ) ) t is deleted, and new tokens are created for the process instance on each outgoing flow.

	Ending a process If a process instance has a token on a SequenceFlow with target
	node an EndEvent, then the token can be moved to the EndEvent:
	state = RUNNING & t : tokens &
	fe : t.element@pre &
	fe : SequenceFlow &
	fe.targetRef : EndEvent =>
	t.element = Set{ fe.targetRef }
	Entering a task
	state = RUNNING & t : tokens &
	fe : t.element@pre & fe : StartEvent &
	fe.outgoing->size() > 0 =>
	fe.outgoing->exists( sf I t.element = Set{ sf } )
	The token on the start event is then moved to one of the outgoing flows of the start
	event.

Leaving parallel gateway

This is formalised by the following postcondition use case on Process Instantiation: state = RUNNING & t : tokens@pre & fe : t.element@pre & fe : Para11e1Gateway & fe.outgoing->size() > 0 => t->isDeleted() & fe.outgoing->forAll( sf I Token->exists( t1 I sf : t1.element & t1 : tokens ) )

"If the process instance is running, and has a token t in a parallel gateway fe, with an outgoing flow, then delete t, and create a token for the process instance in each outgoing flow of fe."

Modeled Solution

The corresponding modelled solution of Fig. 1 is described with seven (7) tasks, two parallel gateways and a start and end node as follows below.

Entered flow task7Toend

Leaving task7Toend

Finished process instance

The aforementioned textual workflow indicates consistency with explanations provide in section 5.1 whereby each step is thoroughly described. The benefits such an approach can realise in project management regard formalised models which respect project management processes modelled in BPMN. The textual representation of these models can potentially lead to advantages described in section 1.

Conclusions and Future Work

This paper attempts to highlight the potential research areas that can extend MDA aspects on DSM to business-specific model and more specifically project management. There are suggestions [START_REF] Apostolopoulos | Model Driven Architecture Transformation for Business Models: Decision Analysis Based on a Collateral Analysis Model[END_REF], that corporate decision analysis and decision making leading to changes, can be linked to business needs and improved decision making techniques by adopting approaches in model driven environments for software development.

Developing an integrated methodology on the marriage of MDA and business models is a multi-faceted issue. The paper proposes the utilisation of a renewed project-based approach that will form part of a structured treatment to business models and contribute to increased clarity and formality.

The proposal includes two layers; that can signify business oriented solutions and result to modelled decisions and management guidance documentation.

Extended research in the area of project-based automation could include transformations that support the full BPMN 2.0 elements set i.e. flow objects, connecting objects, swim lanes, artifacts. Future work should also focus on other practices outside MDD such as business analysis and service management. The MDA and BPM communities have taken steps towards attaining a more business-oriented approach to identified parts of projects which can be standardised. However, it is the authors' belief that building on the already available knowledge of both research communities, there are valuable lessons to learn and apply to other standardised business frameworks such as PRINCE2 ® for project management, BABOK ® for business analysis and even ITIL ® for service management.


Fabián Seguel

Raúl Carrasco

Pablo Adasme

Miguel Alfaro
email: miguel.alfaro@usach.cl

Ismael Soto
email: ismael.soto@usach.cl

A Meta-Heuristic Approach for Copper Price Forecasting

Keywords: Genetic Algorithms, Simulated Annealing, Forecasting, Simulated Annealing, Copper

The price of copper and its variations represent a very important financial issue for mining companies and for the Chilean government because of its impact on the national economy. The price of commodities such as copper is highly volatile, dynamic and troublous. Due to this, forecasting is very complex. Using publicly data from October 24th of 2013 to August 29th of 2014 a multivaried based model using meta-heuristic optimization techniques is proposed. In particular, we use Genetic Algorithms and Simulated Annealing in order to find the best fitting parameters to forecast the variation on the copper price. A non-parametric test proposed by Timmermann and Pesaran is used to demonstrate the forecasting capacity of the models. Our numerical results show that the Genetic Algorithmic approach has a better performance than Simulated Annealing, being more effective for long range forecasting.

Introduction

As suggested by Adrian E. Drake: "The increasing availability of computing power in the last two decades has been used to develop new techniques of forecasting" 1 . This paper presents a multivaried based model to forecast the copper price variation. For this purpose, we propose two meta-heuristic algorithmic approaches in order to find the best fitting parameters for our multivaried model.

The first one corresponds to a Genetic Algorithm (GA) which is inspired by natural selection [START_REF] Darwin | The Origin of Species[END_REF]. Genetic algorithms were initially proposed by Holland [START_REF] Holland | Adaptation in Natural and Artificial Systems[END_REF] and have found applications in diverse areas such a process optimization [START_REF] Kumar | Process optimization using genetic algorithm[END_REF], machine learning [START_REF] Chisholm | Machine learning using a genetic algorithm to optimise a draughts program board evaluation function[END_REF], and so on. Particularly, Recursive Genetic algorithms have been used for time series forecasting in [START_REF] Chai | Time series modelling and forecasting using genetic algorithms[END_REF] while adjusting the parameters of a dynamic multivaried model [START_REF] Parisi | Algoritmos genéticos y modelos multivariados recursivos en la predicción de índices bursátiles de América del norte: IPC, TSE, NASDAQ Y DJI*[END_REF]. The second one, is based on Simulated Annealing (SA) approach. In particular, SA has been combined with artificial neutral networks and fuzzy systems to forecast time series as well [START_REF] Almaraashi | Time series forecasting using a TSK fuzzy system tuned with simulated annealing[END_REF] [START_REF] Wu | Advanced simulated annealing-based BPNN for forecasting chaotic time series[END_REF].

As far as we know, it has never been used in order to adjust a dynamic multivaried model to forecast a financial time series.

Forecasting of copper price is an important task not only for investors, but also for the government and agents who are involved on copper mining businesses. Particularly, mining is one of the pillars of Chilean economy. Chile is the largest copper producer around the world2 and the production of this product represents the 12.2% of the Gross Domestic Product (GDP) 3 .

The price of copper, as well as all the commodities, has a highly volatile, dynamic and troublous behavior making the forecasting a complex task. Antonino Parisi, Franco Parisi and David Díaz suggest that "…transaction strategies based on forecast of the direction in the price level fluctuation are more effective and can generate higher benefits than those based on a specific price level prediction." 4 .

The proposed model uses both Genetic and Simulated Annealing algorithm procedure to forecast the sign of the variation on copper price. The publicly data used to this purpose correspond to copper price from October 24th of 2013 to August 29th of 2014 and Dow Jones price for the same period. The organization of the paper is as follows.

The methodology and model formulation is described in Section 2.The meta-heuristic algorithms used to fit the model parameters are explained in Section 3. The analysis of the numerical results is explained in Section 4. A discussion section is presented in 5. Finally, the conclusions of the study are presented in Section 6.

Methodology

In this section, both the management of the data and the model formulation are presented. The non-parametric test and the sign predictive percentage are also explained and mathematically described.

Data Management

The publicly data obtained for copper and Dow Jones price corresponds to two hundred and twenty four observations from October 24th of 2013 to August 29th of 2014. The data was divided in two sets. The first one is used to train initially the multivaried model whereas the remaining data correspond to out-of-sample data and it is used to measure the predictive capacity of the model. Several models estimate their forecasting rates based on the entire amount of observations. In particular, the proposed model uses a "Rolling operation" methodology which means that the in-sample size remains constant to " " samples. For each iteration, the algorithm includes the next observation and discards the oldest one. The rolling time considered in the present paper corresponds to observations. By doing this, a recently added sample is considered by the model and the oldest one is discarded. Therefore, our model can predict until a three-step ahead forecasting.

Model Formulation

A dynamic multivaried model is proposed to forecast the price variation of copper considering the past four variations on the copper price and Dow Jones. For this purpose, we first define the variation on the copper price at instant " " as .

(

) 1
Where :

Variation on the copper price from to . :

Copper price at time . :

Copper price at time .

Similarly, the variation of Dow Jones price at time " " is defined as

. ( 2
)
Where :

Variation on the Dow Jones price from to . : Dow Jones price at time . :

Dow Jones price at time .

To forecast the variation on the copper price, we use the past four variations on the copper price, Dow Jones price and the error of the forecasted prices. The model can be expressed formally as .

(

) 3
Where : Forecasted variation on the copper price. :

Real variation on the Dow Jones price at time . :

Real variation on the copper price at time . :

Error on the past forecasted variations obtained as . , and are parameters determined by using the meta-heuristic approaches.

The parameters are adjusted within three steps as follows:

1) The parameters of the model are obtained for the "n" samples.

2) Then, a one (two or three) step ahead price is forecasted.

3) Subsequently, the new observation is added on the in-sample data and the oldest value is discarded. Steps 1) and 2) are repeated.

This method requires to be adjusted permanently with new real data. The model parameters are not supplied in this paper, but only the sign predictive percentage is reported in Section 3.1.

Sign Prediction Percentage

As it was exposed in Section 1, determining the sign of the variation of copper price is an effective strategy which allows generating higher benefits. To determine the sign variation percentage of each forecasted period we use the following equation . [START_REF] Chisholm | Machine learning using a genetic algorithm to optimise a draughts program board evaluation function[END_REF] Where :

Sign prediction percentage. :

Variation on the price of copper from to :

Forecasted variation on the price of copper. :

The Heavyside function where if and if .

:

Number of forecasts made.

In case, the is lower than 50% the predicted variation on the copper price will have the opposite sign of the model (

). Due to this the prediction percentage is obtained by .

(5)

Non-parametric Test of Predictive Performance

Pesatan and Timmermann proposed a non-parametric test of predictive performance based on the correct direction of the forecasted variable [START_REF] Pesaran | A Simple Nonparametric Test of Predictive Performance[END_REF] (Directional accuracy). This procedure proves the null hypothesis that the observed variations on the price are independently distributed from the forecasted variations. If the hypothesis is rejected, it means that there is statistical evidence that the model is able to forecast a future variation on the price. The Pesatan and Timmermann test compares the sign of the real variation on the price and the sign of the forecasted variation on the price. In order to obtain the real positive variations on the copper price, we use the equation [START_REF] Parisi | Algoritmos genéticos y modelos multivariados recursivos en la predicción de índices bursátiles de América del norte: IPC, TSE, NASDAQ Y DJI*[END_REF] . [START_REF] Parisi | Algoritmos genéticos y modelos multivariados recursivos en la predicción de índices bursátiles de América del norte: IPC, TSE, NASDAQ Y DJI*[END_REF] Where :

Percentage of the real positive variation on the price of copper.

Similarly, the percentage of positive variations on the forecasted price is obtained by means of . [START_REF] Almaraashi | Time series forecasting using a TSK fuzzy system tuned with simulated annealing[END_REF] Where :

Percentage of the forecasted positive variation on the copper price.

Furthermore, the success ratio index when the forecasted variations and the real variations on the price are independently distributed is obtained by means of .

(

) 8
The variance of rate is obtained by means of equation ( 9) as follows .

(

) 9
Consequently, the variance on the success ratio ) is defined as .

(10)

Finally, the directional accuracy test is given by the equation .

(

) 11
This test follows a standard normal distribution and it is used to prove the null hypothesis that the forecasted prices are independently distributed. This means, the larger the value of DAT the better the accuracy of the model.

Meta-Heuristic Optimization Algorithms

In this section, the meta-heuristic optimization algorithms used to adjust the model parameters are briefly described.

Genetic Algorithm

Genetic algorithms were initially proposed by Holland in 1975 [START_REF] Holland | Adaptation in Natural and Artificial Systems[END_REF]. A genetic algorithm is a meta-heuristic approach inspired by Darwin's theory which is based on the survival of the fittest [START_REF] Darwin | The Origin of Species[END_REF]. Genetic Algorithms use a direct analogy of natural evolution. A possible solution is codified as an individual and each individual is composed of variables (or chromosomes). Each individual will have as many chromosomes as variables in the problem. In order to obtain an initial solution for the problem, a population of individuals is generated randomly. The population is modified within each iteration of the algorithm depending on the following operators:

1. Fitness Function: The fitness function (objective function) must be defined. In this particular optimization problem there are no constraints on the optimization problem. Thus, the fitness function is defined as: (12) 2. Selection: A portion of the existing population is selected. The best solutions are more likely to be selected as parents for the next generation.

3. Crossover: Crossover combines the chromosomes of each parent in order to create new solutions called offsprings. 4. Mutation. Some offsprings are randomly modified by a mutation process.

Mutation changes a particular gen on the chromosome. The mutation operator enables the population to explore new zones of the feasible space.

The process is continuously repeated creating new generations of individuals until a stopping criteria is met. In this particular problem the stopping criteria selected was four hundred generations of individuals. In particular, Genetic Algorithms have been previously used on financial forecasting [START_REF] Parisi | Algoritmos genéticos y modelos multivariados recursivos en la predicción de índices bursátiles de América del norte: IPC, TSE, NASDAQ Y DJI*[END_REF] [10].

Simulated Annealing

Simulated Annealing is a meta-heuristic optimization method proposed independently by Scott Kirkpatrick, C. Daniel Gelatt and Mario P. Vecchi in 1983 and by Vlado Černý in 1985 [START_REF] Jeong | A computerized causal forecasting system using genetic algorithms in supply chain management[END_REF] [START_REF] Kirkpatrick | Optimization by Simulated Annealing[END_REF]. The Simulated Annealing algorithm is inspired from the process of annealing in the metallurgical industry. It starts with an initial high temperature and then it slowly decreases during the execution of the algorithm. This reduction allows the algorithm to explore the solution space and avoid a possible local optimal. As the temperature is reduced so is the chance of accepting worse solutions. This temperature reduction allows the algorithm to focus on areas of the solution space where the global optimum may lie. Simulated Annealing has not been applied for multivaried dynamic models, however it has been mixed with fuzzy models [START_REF] Almaraashi | Time series forecasting using a TSK fuzzy system tuned with simulated annealing[END_REF] and artificial neural networks [START_REF] Wu | Advanced simulated annealing-based BPNN for forecasting chaotic time series[END_REF] for time series forecasting. Similarly, as in our genetic algorithmic approach, we use the objective function given by the equation ( 12) and the stopping criteria selected was four hundred iterations.

Numerical Results

The numerical results are presented in two subsections. The first one summarizes the model results for the adjustment of the parameters using in-sample data while the second one summarizes the forecasting results of the out-of-sample data.

In-sample Data Results

For each time step the model parameters where adjusted in order to maximize the SPP. A total of one hundred and seventy nine different iterations were performed using the multivaried model. Figure 1 shows the values of SPP for each iteration of the model. From the numerical results presented in Figure 1a), the SPP is larger than 50% when using Genetic Algorithms for all the iterations. In Figure 1b), we observe similar trends when using Simulated Annealing approach. For in-sample data the Genetic Algorithmic approach has a sign predictive performance mean of 66.96% while Simulated Annealing has a mean of 64.59%. This clearly shows that the genetic algorithmic approach is more effective.

Out-of-Sample Data Results

With the out-of-sample data, we compute the sign prediction percentage and perform the directional accuracy test for one, two and three step ahead forecasting. Table 2 shows the performances obtained. In Table 2, column 1 presents the name of the algorithmic approach. Column 2 shows the SPP values obtained in percentage. Finally, in columns 4 and 5 we present the values obtained for the DAT and p-values for the DAT, respectively. For the one hundred and sixty nine forecasted variations, the Genetic Algorithm has a Sign Predictive Performance of 57.54%, 57.54% and 53.63% for one, two and three step ahead forecasting, respectively. While the Directional Accuracy tests are 2.0282, 1.9773 and 0.9772 for one, two and three steps ahead forecasting, respectively. These values prove that the predictive capacity of the model is useful up to two steps ahead forecasting.

On the other hand, the Simulated Annealing based model has a Sign Predictive Performance of 58.1%, 50.28% and 51.40% and a Directional Accuracy Test of 2.1724, 0.03135 and 0.3211 for one, two and three steps ahead forecasting, respectively. These values prove that the model can be used only for one step ahead forecasting while using Simulated Annealing.

Discussion

Other authors have adapted their forecasting models by using genetic algorithms [13] [14]. Nevertheless, there are still meta-heuristic approaches which have not yet been tested in order to compare their performances with Genetic Algorithms. Both algorithms used the same model to predict future prices. In the current literature, different models and their advantages to forecast future price of commodities based on the spot prices are well described [START_REF] Khadka | A NEW APPROACH FOR TIME SERIES FORECASTING BASED ON GENETIC ALGORITHM[END_REF] [START_REF] Bowman | Forecasting Commodity Prices: Futures 17. Versus Judgment[END_REF]. However, the algorithms used to adapt these models have not been compared in order to guarantee that the decision of using genetic algorithms is the right choice. This paper compares Simulated Annealing and Genetic Algorithms in a dynamic multivaried model. Both have been compared for learning problems showing that Simulated Annealing found meanly better solutions than Genetic Algorithms in less computational cost [17] [START_REF] Reeve | Evaluating the Forecasting Performance of Commodity Futures Prices[END_REF]. In this paper, we confirm that the Genetic Algorithmic approach is the right choice as it gives better solutions when compared to Simulated Annealing for short and long range forecasting. Finally, the decision maker can use the adapted parameters in order to forecast future copper prices using the equation (3) proposed in subsection 2.2.

Conclusions

In this article, we proposed two different meta-heuristic approaches to forecast the variation on the copper price. The proposed model requires to be adjusted every time the copper price changes. An initial adjusted model would not have the capability of forecast many steps in the future if it does not have the most recent information about the copper price behavior. Genetic Algorithms have proved be an efficient optimization approach to forecast time series. In particular, when compared with another meta-heuristic optimization technique such as Simulated Annealing as it has proved to be superior for short and long range forecasting. Forecasting on the copper price can increase the return and reduce the risk associated with the transactions of this base metal. Therefore, this methodology can be used on a real scenario. As future research, we plan to use Genetic Algorithms hybridized with nonlinear model architectures such as Non-linear autoregressive with exogenous input networks (NARX) for long range forecasting.

Fig. 1 .

 1 Fig. 1. a) Sign Predictive Percentage using Genetic algorithm. b) Sign Predictive Percentage using Simulated Annealing

Table 2 .

 2 Sign predictive percentage and directional accuracy test for one, two and three step ahead forecasting obtained with Genetic and Simulated Annealing approaches.

		One Step Ahead
	Model	SPP (%)	DAT	p-value of DAT
	Genetic Algorithm	57.54%	2.0282	0.05100
	Simulated Annealing	58.10%	2.1724	0.03768
		Two Steps Ahead
	Model	SPP (%)	DAT	p-value of DAT
	Genetic Algorithm	57.54%	1.9773	0.0564
	Simulated Annealing	50.28%	0.03135 0.3987
		Three Steps Ahead
	Model	SPP (%)	DAT	p-value of DAT
	Genetic Algorithm	53.63%	0.9772	0.2474
	Simulated Annealing	51.40%	0.3211	0.3788

Drake, Adrian E. Genetic Algorithms in Economics and Finance: Forecasting Stock Market Prices and Foreign Exchange: a Review. Sydney: Australian Graduate School of Management, University of New South Wales, 1998.

Edelstein, Daniel L. «US Geological Survey: Mineral Commodity Summaries -Copper» January 2012.

SOFOFA «Estructura de la industria Chilena». 2012 http://web.sofofa.cl/informacion-economica/indicadores-economicos/estructura-de-la-industria/

Parisi, Antonino and Parisi, Franco and Diaz, David, Forecasting Gold Price Changes: Rolling and Recursive Neural Network Models. Journal of Multinational Financial Management, Vol. 18, No.

5, pp. 477-487, November 26 2007

Acknowledgments. The authors acknowledge the financial support of the "Center for Multidisciplinary Research on Signal Processing" (CONICYT/ACT1120 Project) and the USACH/DICYT 061413SG Project.