Modeling and Solving Alternative Financial Solutions Seeking

In this paper we build a method to optimize Multi-Year Prospective Budgets. First we present a systemic model of Local Community Finances. Then, from two acceptable Multi-Year Prospective Budgets the method implements a Genetic Algorithm to generate a collection of admissible Multi-Year Prospective Budgets among which Decision-Makers can choose. The method is tested on simplified cases and on in operational situation and gives satisfactory results.


Introduction
For local communities, political decisions with heavy financial consequences need rigorous and detailed studies. The purpose of those studies is to provide Decision-Makers with forecasts and projections of their financial circumstances to come, for various sequences of projects responding to political goals and various ways to finance them.
Tackling those forecasts and projections is a delicate task for experts. Indeed, on the one hand factors constraining the projects of a local community are essentially laws, proper management rules which fluctuate and public opinion which is fickle. On the other hand, the way that those constraints are perceived by local community Decision-Makers is also time-varying.
Often, local community calls on experts in order to strike the right balance. Practically, an expert works in straight collaboration with Decision-Makers of the local community he is engaged with in order to take into account all the targets and perceived constraints of every project of the local community. Its work consists in building financial plans (Prospective Budgets), which are in some sense optimized, consistent with the capacity of investment of the local community and, of course, comply with the political goals of the Decision-Makers. For each prospective budget, the state of various indicators, relevant to the resulting financial health of the local community in future years, are given. As a result of this work, viable scenarios satisfying partially the political goals are proposed among which, in an ideal situation, Decision-Makers may make a choice. Unfortunately in a large number of non-ideal situations, constraints and goals cannot be satisfied together. In those cases the set of viable scenarios influences the evolution of the political goals and the constraint perception in order to begin a new iteration of the work process.
The existing tools dedicated to this iterative work process are somewhat limited. The goal of this paper is to set out a new tool to contribute to filling this gap in a specific context we shall describe now.
The local communities usually need visibility on their budget over a time period of several years, linked to the characteristic duration of political mandate. The main strict constraint, generally imposed by current legislation, is that the difference between the receipts and the expenditures cannot be negative. That makes-up the balanced budget rule. This balanced budget is in most countries shared into sub-budgets which are not necessary balanced. However, each expenditure or receipt clearly belongs to a unique sub-budget. For instance, French local communities share their budget into an investment budget and an operating budget. Positive credit balance amount from the operating budget can be transferred to the investment budget. Our work joins in the French model of local communities' management but the tackled questioning and the tool we set out are clearly more general.
In order to explain the goal of the tool we build, we restrict ourselves to the particular case of a Prospective Budget building where, among the political goals, two objectives are to be reached. With software environment avalaible nowadays, a Prospective Budget may be figured out with the first objective achieved. In particular, the consequences on the factors involved in the second objective may be quantified. Of course, the same can be done exchanging the roles of the two objectives. Nonetheless, generally speaking, it is not possible to satisfy both objectives, since the constraints are too numerous. Schematically, it may be said that it is possible to bring out two Prospective Budgets S 1 and S 2 , where S 1 satisfies the first objective, which is symbolized by the fact that indicator V 1 reaches a targeted value V 1 . Prospective Budget S 2 satisfies the second objective which is translated by V 2 = V 2 for a targeted value V 2 . In Prospective Budget S 1 , V 2 = V 2 but is determined by the budget building process which takes constraints into account and which is, in some sense, optimized. In a similar way, in Prospective Budget S 2 , V 1 = V 1 .
Having those Prospective Budgets on hand, the next step consists in finding several alternative ones that are such that neither V 1 is reached by V 1 nor V 2 by V 2 , but still satisfy the constraints and are more satisfactory. When this process is executed by an expert, the building of those alternative Prospective Budgets uses one more time the tool after having let the targeted values evolve, influenced by its knowledge and the interaction with Decision-Makers.
Yet, the new tool which is described in this paper has the ambition of automatically generating a collection of alternative Prospective Budgets and of introducing them in a usable way, so that Decision-Makers can choose the one that fits their goals in the best way.
In order to create such a new tool, we first identified that the question of finding several alternative Prospective Budgets can be formalized as finding a shape, corresponding to the extremum of a given fitness function, in a multi-dimensional space.
Then we found out that the best type of optimization methods to tackle this shape search was Genetic Algorithm. Indeed, Genetic Algorithms have the capability to explore a given domain and, by nature, the result of a Genetic Algorithm is a set of solutions that optimizes the fitness function. For a review on Genetic Algorithms, we refer to Goldberg [10], Beasley, Bull & Martin [3,4] and Davis [6].
This approach using Genetic Algorithm for an optimization problem is not new. Nevertheless, the algorithm we propose here has innovative aspects. The first one is that we look for an optimal object in a bounded box. The other innovative aspect is that we look for the argument of an optimum which is not a single point but a shape in a relatively high-dimensional space. The use of Genetic Algorithms for shape optimization is classical, and many references exists on the subject. We refer for instance to De Jong [7] and Castro, Antònio & Sousa [5]. We also refer to articles that implement variants of Genetics Algorithms so called Particle Swarm Optimization (see for instance Mattheck & Burkhardt [13] and Fourie & Groenwold [9]) and Fuzzy Controlled Genetic Algorithm (see for instance Soh & Yang [17]), both used in structure optimization. But, in all those references a Genetic Algorithm is used to drive the successive setting out of the parameters of a software code in order to find out the optimal solution. The methods do not use -contrary to what we do -the capability of Genetic Algorithms to directly build a shape in the space.
Once it was established that Genetic Algorithms is the pertinent tool for our question, it was needed to formalize it so as to be able to use Genetic Algorithms. Yet, the literature concerning them is rich in the context of financial optimization (we refer for instance to Chen [16]). Besides, the financial modeling is very active on the market finance sector (see for instance Goodman & Stampfli [11], Ilinski [12] and Fama [8]). However, it is much less productive for applications in public sector (see for instance Musgrave [14] and Rosen [15]). Finally, mathematical modeling for finance of local community seems to be very poor (see Tiebout [18]).
Hence, on the one hand, we had to develop a model of the local community finance system.
On the other hand, we developed a proper formalism (calling upon the model of the local community finance system) to develop our Genetic Like Algorithm. We now summarize this formalism. It can be considered that any given Prospective Budget is characterized uniquely by the two values V 1 and V 2 . In other words, indicators V 1 and V 2 become variables on which Prospective Budget depends. To simplify the purpose, V 1 and V 2 are both supposed to be n-dimensional, so that it can be assumed that (V 1 , V 2 ) ∈ R 2n . Prospective Budget associated with values V 1 and V 2 writes S(V 1 , V 2 ). Of course, for some values of the variables, say does not satisfy the constraints. Then, constraints may be seen as defining a sub-domain of the space R 2n in which the variables lie. Within this framework, the Prospective Budget S 1 described above writes S( V 1 , V c 2 ) where V c 2 is computed by the software environment. In the same way, Prospective Budget S 2 writes S(V c 1 , V 2 ). The method explores, in R 2n -the space where the variables lie, the intersection of a box containing the two points ( V 1 , V c 2 ) and (V c 1 , V 2 ), associated with the budgets already on hand, and of the sub-domain where constraints are satisfied in order to identify a shape joining ( V 1 , V c 2 ) and (V c 1 , V 2 ) around which Prospective Budgets fit well what Decision-Makers are waiting for, are in some sense optimized and satisfy the constraints. The box is built by considering in R 2n the middle point of ( V 1 , V c 2 ) and (V c 1 , V 2 ) and by building in this point an orthonormal frame whose first vector is the normalization of vector . The other vectors of the frame are exhibited by the mean of the Gram-Schmidt routine. The method consists in defining a fitness function F which integrates the Decision-Makers' political goals. We also have to build the sub-domain on which budgets satisfy the constraints. We define a method to encode the variables in the considered box. This coding calls, among others, upon a sub-product of the Gram-Schmidt routine. Then, we implemented a Genetic Like Algorithm which consists first in generating a collection of N values (V l The main contributions of this paper are the buildings of the models of the local community finance system and of the Alternative Financial Solutions seeking problem, which are done in section 2, and the formalization of those models under a form -just evokedallowing the use of a Genetic Like Algorithm. This formalization and the writing of the  Algorithm itself are given in section 3. In the last section, the method is tested, in particular on an operational problem and gives good results. This demonstration of this capability of our method is also an important contribution.

Description of the Alternative Financial Solutions seeking problem
This section is devoted to the description of the kind of financial problems we tackle with our method and tool. We begin by introducing, with a systemic point of view, the French local community yearly budget workings. Then, we explain the problematic of seeking alternative Multi-Year Prospective Budgets. This is done in section 3. For readers interested in French local community finance system, we refer to [2] and [1].

Local community Yearly Budget System working
Among incomes contributing to local community operating budget, there are essentially

Yearly Budget System
Taxes Current debt Capacity to be free of debt In v e s tm e n t le v e l Figure 2: Synthetic Yearly Budget System state allocations and local "Taxes". Local community cannot influence the state allocation level, however the setting of local Tax Level is part of its own competences. As a consequence, we consider Taxes as an input of the Yearly Budget System. They lay at the top-right of Figure 1.
The other inputs of this system are linked with the "Current Debt". They are: the capital associated to this debt that remains due, the capital that needs to be repaid this year and the interests that have to be paid. Those amounts are defined by loan contracts of previous years. Those inputs are placed on the left-hand side of the figure. Of course, local community cannot have a direct effect on those inputs, but acts on their values in the next years by contracting or not new loans. This is symbolized by the dash line in the figure.
Generally, a local community plans to get operating recipes that allow it to face all operating expenditures and debt interests, and, once those expenditures realized, that leaves a remaining amount that can be used for investment. This remaining amount is called "Gross Self-Financing Capacity". This "Gross Self-Financing Capacity" is used to repay the capital that needs to be. The remainder, which is called "Net Self-Financing Capacity", contributes to the investment budget with the goal to top up subventions and loans to reach the Investment Level wanted by the community. This System generates a balanced budget.
At the bottom of the figure, the "Capacity to Be Free of Debt" is mentioned. This indicator is computed from the capital that remains due and from the Gross Self-Financing Capacity. It is, by definition, the time (generally expressed in years) for the community to repay all the capital of its debt, if no other loans are contracted and if the Gross Self-Financing Capacity remains constant over the next years. This indicator is seen here as the output of the system. A generally-accepted maximum figure for the Capacity to Be Free of Debt is 15 years The Yearly Budget System is presented in Figure 2  In v e s tm e n t le v e l

Yearly Budget System
Taxes Current debt Capacity to be free of debt In v e s tm e n t le v e l

Yearly Budget System
Taxes Current debt Capacity to be free of debt In v e s tm e n t le v e l I T 1

Multi-Year Prospective Budget Systems
From the Yearly Budget System, a multi-year budget may be built. Since those kinds of multi-year budgets are intended to explore possible futures under several assumptions, we call them Multi-Year Prospective Budgets. The functioning of such a Multi-Year Prospective Budget is depicted in Figure 3. On the left-hand side of this picture is drawn the Budget System of the first year. This diagram is the synthetic one with arrows coming from the Current Debt box, the Tax box and the Investment Level box and an arrow going to the Capacity to Be Free of Debt box. Loans that are contracted during this first year have a consequence on the debt of the next years. This is symbolized by the arrow going from the Budget System of the first year to the Current Debt box of the second year. Going on, following the arrows, it is possible to create a Multi-Year Prospective Budget System for an arbitrary number of years.
To formalize a bit, the investment leads to the realization of a set of projects, which belong to the list of all projects which are desired to be carried out. Then, Investment Level may be described using a list of numbers, the cardinal of which being the number of projects. Each number indicates if its associated project will be realized or not, and possibly, if it is so, how close or far from its targeted date it is carried out. Thus, in the case where the Prospective Budget is considered over five years and if five projects are considered, every possible Multi-Year Prospective Budget depends on ten values (I 1 , I 2 , I 3 , I 4 , ..,5 given information on project realization and then indicating the Investment Level, and five Tax Levels: ..,5 , one for each year. Of course, there are structural constraints on the variables: the T i cannot be negative. The Prospective Budget corresponding to a given value ..,5 ) of the Investment Level and Tax Levels is seen as a solution S( The five Capacities to Be Free of Debt are seen as the image associated with a Prospective Budget by a mapping. They read: ..,5 )) k=1,...,5 .

Alternative Prospective Budget seeking problematic
Having on hand this formalism, we can insert in it the political goals of Decision-Makers, which are generally unreachable. At first, we present how part of the political goals may be incorporated to create two Multi-Year Prospective Budgets which are only partially satisfactory. Then we explain how, starting from two Budgets, Alternative Prospective Budgets may be sought. Of course, those Budgets are also only partially satisfactory, but among the generated collection of Prospective Budgets, one can be preferred to the others and thus chosen among them.
We study the example with five years Prospective Budgets involving five projects, but what is explained in the following is of course true for any number of years and projects. In an effort to remain schematic, we consider here that a Political Goal is a given collection ( I 1 , I 2 , I 3 , I 4 , ..,5 ) of targeted Investment Level and targeted Capacities to Be Free of Debt translating into financial terms the projects the Decision-Makers plan to get realized and the level of financial sanity they want to reach. In addition, the Political Goal is provided by a Tax Evolution Pattern, which expresses at what time Decision-Makers accept tax increases and at what time they prefer stability of tax levels.
With the help of a software environment properly programmed, it is possible to compute ..,5 ), whose every Yearly Budget is balanced and which satisfies the requested Political Goal, i.e. such that C k (S(( However this view is much too naive, since Political Goal (( ..,5 ) generally requires Tax Levels that are incompatible with regulations, or simply not acceptable to Decision-Makers.
The work of Decision-Makers, assisted by public-finance experts, consists in degrading Political Goal (( I i ) i=1,...,5 , ( C i ) i=1,...,5 ) to be reached with acceptable Taxes Levels. This is done with the help of a software environment. For instance, SOFI software, edited by MGDIS 1 , provides solutions to this question in considering two problems. Those problems consist, in some sense, in inverting the routine presented in Subsection 2.2 and Figure 3, which was describing how Capacities to be Free of Debt were gotten from chosen Tax and Investment Levels. The first problem, depicted in Figure 4, consists in considering as input the targeted Investment Level ( In v e s tm e n t le v e l

Yearly Budget System
Taxes Current debt Capacity to be free of debt In v e s tm e n t le v e l

Yearly Budget System
Taxes Current debt Capacity to be free of debt In v e s tm e n t le v e l ..,5 )) are as close as possible (in a given sense) to the Goals C k and with Tax Levels (T c i ) i=1,...,5 that satisfy the constraints and whose every Yearly Budget is balanced. In Figure 4, the diagram of Figure 3 is used again; and arrows going from the Investment Level boxes (the investment levels are indicated as inputs) to Tax  In v e s tm e n t le v e l

Yearly Budget System
Taxes Current debt Capacity to be free of debt In v e s tm e n t le v e l

Yearly Budget System
Taxes Current debt Capacity to be free of debt In v e s tm e n t le v e l The second problem we consider is represented in Figure 5, takes the targeted Capacities to Be Free of Debt ( C k ) k=1,...,5 as inputs and computes Multi-Year Prospective ..,5 ) = C k for k = 1, ..., 5 and Investment Levels (I c i ) i=1,...,5 , are as close as possible to the Goal ( I i ) i=1,...,5 . In Figure 5, the content of Figure 3 is used again. However, in this case, the Capacities to be Free of Debt are indicated as inputs. Arrows going from them to Investment Levels (they are not all drawn for readability) and to Taxes symbolize that Investment and Taxes are consequences of the chosen Capacity to be Free of Debt Levels.
Once those two solutions are set out, they may be evaluated by Decision-Makers, in regards, among others, of the Tax Evolution Pattern.
Other Multi-Year Prospective Budgets may then be built by modifying values within the Political Goal (( ..,5 ), after financial and political discussions between Decision-Makers and experts. This generation of Alternative Financial Solutions or Alternative Multi-Year Prospective Budgets can be fastidious and long. Thus, only a small number can be generated.
The topic of the method and tool we propose here is to automate this generation of Alternative Financial Solutions or Alternative Multi-Year Prospective Budgets, and to set out a relatively wide number of them, provided with indicators of their quality in order for Decision-Makers to be able to make a choice between them.
Roughly speaking, we can consider that Prospective Budgets S(( ..,5 )) are associated with two points in a 10-dimensional space and that the possible Alternative Financial Solutions or Alternative Multi-Year Prospective Budgets are gathered around a geometrical object joining those two points and that have to be sought and identified.

Genetic Like Algorithm
On the basis of the model we set out in the previous section, we can implement a Genetic Like Algorithm. Although this approach using Genetic Algorithm is not new in the context of optimization, the algorithm proposed here has innovative aspects, as explained in the Introduction (see page 3). Among them they are the fact that we look for an optimal object in a bounded box. The other innovative aspect is that we look for the optimum not as a single point but as a shape in a relatively high-dimensional space. For this, we strongly use the fact that the result of a Genetic Algorithm is a set of solutions that is located on the sought shape.
We go on treating the case when the number of years and the number of projects are both five.

Dimensionless problem setting
In order to manage variables and results that are dimensionless and of order one, we first rescale the problem. For this purpose, we introduce a characteristic Investment Level describer value i, a characteristic Capacity to Be Free of Debt c and a characteristic Tax Level t. For instance we can chose i = 1 10 I 1 + I 2 + I 3 + I 4 + I 5 + I c 1 + I c 2 + I c 3 + I c 4 + I c 5 = 1 10 which are the mean values of values reached by the two Prospective Budgets we have on hand. Then we define the dimensionless variables and results On those variables there are organic constraints: which translate the fact that the Capacity to Be Free of Debt is a duration. There are also constraints linked with legal rules, various regulations and what is politically admissible. These read: Those constraints, when expressed in dimensionless variables, involve maximum values C max and (T max Remark -The question of knowing if the fact that every Yearly Budget of every Multi-Year Prospective Budget needs to be balanced has to enter into the constraint collection may be addressed. The answer is that we work under the assumption that any Multi-Year Prospective Budget, for instance computed using SOFI, from any variable collection ..,5 ) generates loans and consequently Capacity to Be Free of Debt set ..,5 )) insuring the balanced character of all its Yearly Budgets.
Within the dimensionless variables, the dimensionless Political Goals and other quantities are expressed as and we have on hand two dimensionless Prospective Budgets S(( I i ) i=1,...,5 , (T c i ) i=1,...,5 )) and S((I c i ) i=1,...,5 , ( T i ) i=1,...,5 ), which are associated with two points in a 10-dimensional space, located not so far from the origin.

Fitness choice
Among the criteria that may enter the fitness definition, they are the targeted values I i and C i and the Tax Evolution Pattern.
We begin with explaining how easy it is to define a model of Tax Evolution Pattern within dimensionless variables. In the case where the number of years is 5, it is a collection of 5 non negative values (A k ) k=1,...,5 such that and which has the property that A k = A k+1 in the case of a desired stability of Tax Level between years number k and number (k + 1) and the property that A k < A k+1 in the case of a planned increase. Then, a way to measure how far from the Tax Evolution Pattern a given Multi-Year Prospective Budget S((I i ) i=1,...,5 , (T i ) i=1,...,5 ) reduces to computing where φ T is a non-increasing function such that φ T (0) = 1 and lim x→+∞ φ T (x) = 0. In this definition, the division by 5 i=1 T i allows us to insure that the values which are compared with the A k range between 0 and 1.
Ways to measure how far from the Politic Goals a Multi-Year Prospective Budget is, are the computations of where φ I and φ C have similar definition as φ T .
With these three functions F T , F I and F C , defining three non negative constants γ T , γ I and γ C , having a sum not too far from 1, we chose the following Fitness Function

Frame building by Gram-Schmidt routine
In the 10-dimensional vector space, for two vectors W = ((J i ) i=1,...,5 ), (D i ) i=1,...,5 )) and W = ((J i ) i=1,...,5 ), (D i ) i=1,...,5 )), the following inner product and norm naturally exist: Moreover, it is provided with its canonical basis: 13 On the one hand, from the points (( I i ) i=1,...,5 , (T c i ) i=1,...,5 ) and ((I c i ) i=1,...,5 , ( T i ) i=1,...,5 ), we can build the first vector of the frame by normalizing the vector linking those two points. This vector is: On the other hand, we look for index i b which is such that the absolute value of the inner product of g 1 by e i b is as large as possible, i.e. such that The basis is then built by induction: Once j orthonormal vectors are obtained, the (j + 1) th is gotten by removing from e (i b +j mod 10) its projection onto every vector of the new basis already computed and by renormalization, or in other words, by computing where Once all the (g j ) j=1,...,10 are obtained they make an orthonormal basis of the vector space whose first vector is born by the straight line linking the two points associated with the two dimensionless Prospective Budgets we have on hand.
With the help of this basis, we will build the box in which we will seek the targeted geometrical object and the coding of Prospective Budgets.
gives its coordinates within frame (g j ) i=1,..., 10 . The i th column of B is made of the coordinates of e i within the new frame and the i th column of B −1 = B T is made of the coordinates of g i within the canonical frame. In the following we will consider that B and its inverse matrix B −1 are known.

Moreover, this transformation gives a coding of any solution S(R) by a point in
Hence, without any supplementary effort, we have two codings at our disposal: a solution S(R) may be coded by its directly interpretable values (R 1 , . . . , R 10 ) = ((I i ) i=1,...,5 ), (T i ) i=1,...,5 ) or by the collection of values (P 1 , . . . , P 10 ) that are the coordinates of point Generically, in the following we will denote the coding by Q = (Q 1 , . . . , Q 10 ). It will designate the coding by P or R or any other.

Initial Prospective Budget collection
We assume that every dimensionless Prospective Budget R l 0 satisfies all the constraints (4), (5) and (6). This means that the random generation has to run until N dimensionless Prospective Budgets satisfying the constraints are obtained.
Being Generic, the coding of this initial Prospective Budgets will be denoted by Q l 0 = (Q l 1 0 , . . . , Q l 10 0 ).

Constraint management
For a collection made of 2N individuals, we will manage constraints by integrating them in the Fitness Function. This consists in adding to Fitness Function defined by (11), the following quantity, or a quantity of this kind, ..,5 )), 0)) for a non-decreasing function φ such that φ(0) = 0 and lim x→+∞ φ(x) = 1, multiplied by a factor γ relatively large in front of 1. This penalization makes the value of the fitness of Prospective Budgets not respect the constraints to decrease and then diminishes their chance to pass the selection to come.

Algorithm to produce next generation
Having on hand the m−th collection of Prospective Budgets S(R l m ), for l = 1, ..., N , and their coding Q l m , a new collection S(R l m+1 ), with coding Q l m+1 is generated by a usual Genetic Algorithm Like routine we now briefly describe.
In a first step, couples of codings of the Prospective Budgets are randomly formed. The second step consists in making some codings to mutate. For this, a small integer i b , ranging, say, between 0 and N/50 is randomly generated. Then, i b codings are randomly chosen among the codings generated in the first step, i.e. among the Q l m with l = N + 1, ..., 2N . For each of them, an integer i c is randomly chosen among {1, 2, . . . , 10}, a number ν ranging between −1 and 1 is also randomly generated and the i c −th component of the concerned coding is incremented by ν.
In the third step, the Fitness Function is evaluated on every coding Q l m , for l = 1, ..., 2N , which results from the first three steps. In order to do so, it is necessary to determine the R l m , for l = 1, ..., 2N associated with the Q l m , for l = 1, ..., 2N , the Prospective Budgets S(R l m ), for l = 1, ..., 2N , and finally, the Fitnesses (penalized by constraints) F (R l m ) for l = 1, ..., 2N .
The objective of the fifth step is to randomly select N codings among all the codings Q l m , for l = 1, ..., 2N that were brought out by the previous steps with the principle that the higher the fitness of a coding, the more likely to be selected. In addition, we can use an elitism routine which consists in deterministically choosing the N elit codings that provide the best scores with respect to the Fitness Function.
In practice, in order to implement the routine just described, we used the library "Aforge.Genetics". We conducted a study to measure the impact of the values of "Cross-Rate" and "MutationRate" parameters of this library. This study showed that the default values were convenient. Hence we used them.

Resizing of obtained solutions
After several iterations of the algorithm just described, we have on hand a collection of N codings.

Tests
The method is now tested on several examples. First, it is tested on one-dimensional problems in order to set out its capability to exhibit the point where the maximum of the fitness is located, and, in the case when the fitness shows a plateau with value of which is its maximal, to produce a population which is essentially located on the interval which range is the plateau. Secondly it is tested on the example of local community finances that is described in the previous sections.

Test on a one-dimensional problem with a Fitness Function having one maximum
The Fitness Function considered here is a function with one maximum, which is the sum of two quadratic ones. More precisely, defining which are given in Figure 6 at the top and in the middle, the Fitness Function is defined on [0, 1] and drawn at the bottom of Figure 6.
We have chosen those functions in order to obtain a function F supported in (0, 1) and with values ranging in [0, 1].
A simplified version of the method described above was implemented on this example, with the maxima of h 1 (x) and h 2 (x) playing roles analogous to those played by points ..,5 ) in the above described method. On this example, the method works and gives after 500 generations a collection of points which is very concentrated around x = 0.5, which is the argument of the maximum of the fitness function.
Nonetheless its efficiency was compared to optimization methods using a similar Genetic Like Algorithm, but not involving the two points around which the argument of the maximum is sought. The method built here was not more efficient. This seems to lead to the conclusion that the contribution of this method is not to be sought in this direction.

Test on a one-dimensional problem with a Fitness Function having a maximum plateau
One of the original capabilities of the method described in this paper is that it can give a good representation of the argument of the maximum of the fitness function when it is an interval. To illustrate this capability, a fitness function having an interval as argument of its maximum will be built. This fitness function is the sum of two other functions that have both one maximum. The result of this sum is a function which has a plateau whose span is smaller than the interval defined by the maximum localizations of the two functions it is the sum of.
18 are also considered. Finally, the Fitness Function which is considered is It is the sum of the two functions: l 1 = 0.7 max 0.5f 1 + 0.5g 1 , 0 and l 2 = 0.7 max 0.5f 2 + 0.5g 2 , 0 . A simplified version of the method built in section 3 was implemented on this example to locate the arguments of the maximum of Fitness Function F . In this implemented method, the arguments of the maximum of l 1 (x) and l 2 (x) play the roles that points ..,5 ) play in the more general method. In this simplified version, the collection at each generation is made of 35 points. The resulting collection after 500 generations of the algorithm is given in Table 1. The collection is well distributed on the interval ([0.475, 0.525]) whose range is the plateau of Fitness Function F . In particular, this final collection does not undergo concentrations that could orientate by mistake interpretation towards concluding that the Fitness Function has isolated maxima.
This capability of the method is very important for reaching operational problems. This is what is done in the last test.

Test on an operational problem
The method set out in section 3 is now tested in a realistic situation. The experience uses a software product, called SOFI, dedicated to the optimization of local communities' budgets, with a French interface. In this subsection, we describe the test and in subsection 4.4, we discuss technical aspects concerning the way we tuned the method and the way we prevented the appearance of problems we met.
In order to keep the study as realistic as possible, the budget model and numbers that have been chosen are drawn from an actual customer of the company MGDIS. The city council (city of which we will not cite the name for confidentiality reasons) used SOFI to simulate the impact of a dozen projects onto the budget of the community. Using this application, a financial expert (Thomas Hody) provided us with two Multi-Year Prospective Budgets. They correspond to ideal but not reachable situations. The results of our Genetic Algorithm based optimization process have been validated by the same person as a solution that indeed improves on the use of the community financial resources.
The first solution, presented in Figure 10, is quite liberal, with all projects being realized, and the taxes increased at the maximum rate of 7% in the first three years (see the second line of the second part of the Table in Figure 10). The Capacity to Be Free of Debt ratio remains in the acceptable range (see the "Capacité de désendettement" line at the bottom of the table in Figure 10). The second solution we picked is a much more careful, with only the top priority projects being done, and a very limited increase of tax applied so that the capacity to be free of debt ratio remains below 15 years, which is the prudential limit. Figure 11 shows the values for this second solution. Figure 12 shows a representation of the proceedings of the projects for the careful solution. A color code helps spotting the priorities of the projects (from hight priority: red, orange, yellow, blue: low priority ). It should be noted that, in our example, priority one projects account for the vast majority of the budget.
The coding follows such rules: • The first five genes code the five less-than-one-priority projects (the priority-one projects are always active).
• The coding is equally distributed for each unit: below half, the project is inactive, above half, the project is active.
• The next five genes contain the evolution of tax, written as a double.
• We consider the limits to be 0% at the minimum, and 7% at the maximum. Thus, the decoding will realize a modulus 0.07 function on the values.
The fitness function that was used works as follows: • The number of projects brings a linear satisfaction, and accounts for 25% of the final fitness. Figure 12: The proceedings of the projects for the careful solution.
• The evolution of the tax is best at 0% and worst at 7%.
• Its average evolution accounts for 10% of the global fitness, and its evolution in the last two years accounts for 5%.
• The capacity to be free of debt is optimal at 0 year and worst at 15 years and more. This accounts for 25% of the final grading of the solution.
• The capacity to spare money is optimal at 5%, and accounts for 25% of the global fitness.
• No variation at all (in the tax evolution) gives the best results, and this part of the grade accounts for the remaining 10% of the global fitness.
The language used is C#, and the Genetic Algorithm framework is the one from AForge, which is an Open Source project. The definition of the two vectors corresponding to the solution points are programmed as: By constraining the solutions into a hypercube using the method described in this paper, we reach an optimum which has been validated by a finance professional as a reasonable solution for the community budget. The corresponding coding is: The prudential ratios are respected, as the solution in the graphic simulator of Figure 13 shows (Capacity to Be Free of Debt, abbreviated as CDD in French, must remain under 15 years). The fitness obtained is 59%, and the 500 generations took 17 minutes and 32 seconds Figure 13: The optimal solution.
to be simulated on the reference machine. Interestingly, an independent computation with only 100 generations, which took 3 minutes and 32 seconds, showed a final fitness of 58%, so the convergence is quite quick for this particular example. The corresponding chromosome One will notice that the activation of the different projects is the same as the other solution, whereas the choice of Tax Evolution pattern is quite different. A quick conclusion would be that the fitness is more dependent on the projects activation than on the tax evolution, but this would need a robustness analysis, and this was not the subject of the present study.
The most interesting part of the result is that, along the generations, the solutions found are quite concentrated, as shown in Figure 14. This should be compared to the initial Genetic Algorithm optimization without Gram Schmidt projection. The effect of using this particular technique is that the solutions are found into a constrained set of solution, without the user needing to explain how it is constrained, but by letting one propose two solutions surrounding the searched one. The effect on the rapidity on the convergence was expected as an additional result of the study, but we could not demonstrate any noticeable or provable effect on this factor. Further studies need to be done, with a high volume of test, in order to determine whether the two points approach Figure 15: The initial population.
helps the convergence of the Genetic Algorithms or not, and depending on which conditions on the fitness of the coding of the chromosomes.

Parameter choices for the test
Of course, the justification of the parameters chosen for the tuning of the Genetic Algorithms engine would make for an entire article on their own, so we will just provide a justification for running tests like the one described in subsection 4.3. More precisely, in this subsection, we report on a detailed study that allowed us to tune the parameters in this context. The first part of the validation of values used for auto-shuffling, crossing, mutation and random selection rates are simply that they are the default values provided by the Open Source component AForge.Genetics. One can safely assume that these values have been chosen to be a correct fit to general situations.
The second part of the validation completes the first one, as the previous hypothesis has indeed been verified by the complete study, the outcome of which is shortly described below.
The auto-shuffling parameter allows for a dispersion of the chromosomes after selection. This is useful when the selection method forces the list of upcoming chromosomes to be sorted, which can result in lower-quality crossing of the chromosomes thereafter. The "false" parameter in our case is indeed the best in terms of convergence speed (external parameters like the size of the population have no impact on the result) as shown in Figure 16. The impact of the crossing rate has also been studied in the same conditions (accounting for variations of other parameters), and brought to the same conclusion that the default value of 0.75, provided by AForge, is quite optimal (see Figure 17). Next analyzed parameter is Figure 17: Influence of crossing rate. the mutation rate, and again, the default value of 0.1 is close from ideal in our case of study (see Figure 18). The random selection rate is not used by the tailored selection algorithm created for the budget optimization engine. Finally, the impact of the size of the population on the convergence speed has also been analyzed (see Figure 19), and brought us to use a value of 50, which was considered an optimal ratio between speed and memory use.
As an aside note, the robustness tests around the four parameters needed to run several hundreds of hour-long tests, in order to simulate all the different possible combination. This has been achieved by creating a small software component that was dedicated in running jobs on colleagues' computers at night, collecting data and centralizing results back on the author's computer in the morning. This ad-hoc mechanism has also been used for the actual simulation, in order to test its robustness.
Working with Genetic Algorithms makes for two competing risks that must be continuously balanced: under-fitting and over-fitting. In an under-fitting simulation, the gener-  29 ation algorithm introduces too much variety in the chromosomes for the fitness algorithm to restrain the population to a fitter one than the previous one. The over-fitting problem is the exact reverse, where the fitness algorithm completely stifles the expansion of the possible domain created by the generation algorithm, thus resulting in a lack of genetic variety, potentially leaving more ideal genes out of the simulation. The under-fitting problem is head-on addressed by the very principle proposed in the current paper, which is to reduce the exploration domain to one restricted to the immediate neighborhood of two relatively satisfactory points. The restriction on the domain is achieved by choosing the chromosomes on constrained multi-dimensional boxes, the corresponding business values being then retrofitted in the standard domain of values by using the Gram-Schmidt routine. The over-fitting problem is addressed by carefully choosing the selection method among commonly-accepted ones. On very continuous problems, the "Elite" selection mode achieves best results, by quickly removing the poor genes from the pool. On discontinuous problems like the ones linked to budget optimization, it is better to not be too harsh on the selection, and adopt a more exploratory selection mode, like "Roulette". In the "Roulette" method, the chromosomes are not simply eradicated if they do not correspond to a high ranking with respect to the fitness method, but have simply a lower chance of being selected for the next generation. This results in a more flexible approach, where the exploration of unknown domains is allowed, but more or less quickly forbidden if they do not bring an improvement on the fitness. The question of the tuning between the "Elite" and the "Roulette" part of the selection algorithm could bear a complete study on its own. In the present study, this ratio has been chosen to a balanced default value of half / half, after that a considerable number of nightly robustness tests showed that increasing the exploratory part did not bring any better solution. After these tests, the ratio was kept for all subsequent simulations. It would of course be possible to optimize the computation time by slowly decreasing this ratio to a more Elite-oriented algorithm, but the improvement on computational time (which cost was extremely low, all simulations being run on low-range PCs) would not make up for the risks on not detecting a better solution for the budget. This kind of adjustment is let for further study.

Conclusion
In this paper, a method based on Genetic Algorithm to build a collection of Financial Solutions from two acceptable ones is set out, and explored. The way to tackle that the collection is sought in a neighborhood of the two acceptable solutions calls on a Gram-Schmidt routine to comfortably build a box surrounding them. This routine brings also a way of coding the solution that can be used in the Genetic Like Algorithm. The method is then tested on simplified one-dimensional problems to exhibit that it has the capability to locate the argument of the maximum of a Fitness Function and to generate a collection of solutions which is distributed over the set of all the arguments of the maximum when the Fitness Function has a plateau as a maximum. This last capability is the important one in view of the targeted operational applications which concerns the financial strategy of local communities. Finally, the method is tested on an example of the targeted operational applications and gives interesting results which is promising. It seems to be a potential alternative or a support to the heavy protocol (involving many meetings with experts and decision makers) to set out a suitable Financial Solution for local communities.