EVOLUTIONARY COMPUTING FOR OPTIMIZING A REGION ’ S DISTRIBUTION OF AGRICULTURAL PRODUCTION

This paper describes a GIS-based software package that incorporates a ‘genetic algorithm’ to optimize crops’ distribution across any region. Such optimization is powered by maps of where one finds the most suitable conditions for each crop, or each crop’s current local yields, market price, market demand or transport costs. Our program’s output is the crops distribution which achieves maximum economic return, or minimal environmental damage, or optimal fit with either presentor post-climatic-change soil suitability or minimum transport cost. The package can be implemented within any region where the necessary input data exists in Ascii and image format, and it incorporates a number of features that make it transparent and flexible. Such user friendliness encourages even laypersons to experiment with the genetic algorithm’s parameters, almost as if they are playing a computer game, to see whether or not they can find an even more optimal crops distribution than they found previously. The package also functions as a useful exploratory tool for seeing how current patterns would have to be modified if a more optimal crops distribution were achieved, thereby generating decision support type insights into possible repercussions of tampering with the status quo. Our package’s functionality will be demonstrated through a case study implementation within the agricultural region of South Gippsland, Australia.


INTRODUCTION
This paper tries to extend the discipline of applied GIS by adding an optimization component to it.Optimization is central to many other fields, and so there is no logical reason why it cannot, when combined with the analytical mapping power of modern GIS, contribute substantially to improved spatial modeling.Although we here happen to present a case study of spatial optimization for better planning of where to cultivate what crops, the potential for implementing spatial optimization within a vast number of other problem domains is very high.
Section 2 will begin by discussing the role of optimization within rural planning.It will eventually conclude that although optimization might not be absolutely key it is, nevertheless, a necessary pre-requisite for improved rural planning.Section 3 will then look at the theory of optimization and outline why we have chosen our particular form of it.Section 4 will then document some previous attempts to apply our optimization method to rural planning, and this will contextualize Section 5's full description of our own particular software.Finally, Section 6 will suggest how our program might be brought to full flower in the future.

THE ROLE OF OPTIMIZATION IN RURAL PLANNING
Planning is the process of deciding what to do in the future (Ackoff 1978).But rather than simply declare what should be done, governments are realizing that if they want their plans to be successfully implemented they must first consult the people affected in order to attain some degree of pre-approval.The result has been the running of 'stakeholder workshops' which seek the views of the populace, along with some sort of consensus about how best to proceed.Most responsible authorities are simply unwilling to unilaterally declare that they have found the best plan, even when they have absolute faith in their plan-finding technique(s).People's needs and wants must be surveyed first.Friend (2000) suggests that the most effective way to do this is to divide the interested parties into three groups.These are the 'project agents', who will implement the plan; the 'project hosts', in whose environment the plan will be implemented and the 'project sponsors', who will resource the plan.These three groups will tend to favor different plans, and so in most planning situations that are sufficiently complex to be interesting, these three different groups tend to argue endlessly about what alternative option ought to be adopted (Hammond et al 1999).
Consequently, many researchers have wanted to speed up this process, and one way of possibly doing so is to apply optimization techniques (Sharkansky 2002).It seems eminently plausible that optimization will speed up most planning exercises because it involves finding that plan which is demonstrably superior to all others on some criterion, or criteria.Hence the authorities can simply proclaim that every effort should henceforth be made to implement this 'best' plan as soon as possible.
However, for this to be reasonable, Roy (1996) argues that everyone must accept the postulate of the optimum.This states that it is possible to find a decision which is objectively and demonstrably better than any other decision, and that it is possible to do this while remaining neutral in terms of the decision making process itself.Such neutral objectivity is, in turn, based on the following two, rather questionable assumptions: 1.A criterion giving meaning to the concept of optimum can be defined independently of any opinion, conviction, value or prejudice 2. The optimum can be recognized independently of the model and the procedures used to arrive at it.
In people-oriented, socially sensitive planning these two assumptions rarely, if ever, hold.This is because imagination is a very important part of planning, and although professionals might favor contrived plans that are based on standard search procedures, ordinary people almost never do (Beach et al 1996;Razak 2000;Neumann and Overland 2001).Hence plans need to be grounded in shared knowledge and wisdom rather than in personal, or professional knowledge (Smith 1994).This is basically why Cheung and Auger (1976) concluded that optimization is merely '… a management aid, not an automated way of making decisions' (page 44).They then went on to argue that any planner who uses optimization should interpret its results in terms of: • other available solutions • actions that are politically and socially acceptable in the short term • the relative ease of moving from the present to the prescribed solution, and • how irreversible the proposed optimum is.
In short, optimality is only one element of good planning.Other considerations include lack of short-term difficulty, ease of implementation, marginal utility and propensity to allow other events to simultaneously occur.Authors such as Romero (1997) and Muller (1976) have further developed this theme.Nevertheless, a pure, optimal solution is still an ideal starting point for subsequent planning processes.
Put differently, one should always anticipate that any optimal prescription might finish up being unrecognizable once all of the other important considerations have been aired and used to modify it.Yet the 'optimal' solution can at least serve as a discussion starter that vastly increases the clarity and sophistication of any planning debate.As such, optimization in planning is surely valuable, so it will be further explored in the next section.

OPTIMIZATION THEORY
Basically, optimization methods are searching procedures.They involve evaluating a myriad of possible problem solutions in order to find the best or optimal one.The trouble is, of course, that there is usually a vast number of possible solutions to search.
For instance, consider the crops-allocation problem in rural region of South Gippsland, Australia, an abbreviated form of which we will address using our prototype computer program below.In this cut down version we have assumed that there are about eight possible crops that can be grown in each parish, and so for the first eighth of any parish's area the allocated crop could be any one of the eight crops; for the next eighth of the parish area the crop grown there could be any one of the eight (the same crop can be repeated at various locations within the parish) and so on.This makes 8 x 8 x … = 8 8 = ~ 10 7 possible crop combinations in each parish.
Moreover, given that there are about 100 parishes, there are about 10 700 possible crop-allocation patterns to evaluate, and this is a huge number.Even if we used a super computer to evaluate 1 million possible patterns every second, day in day out, it would still require many times the projected life of the universe to evaluate all of these 10 700 possible patterns.That is, exhaustive search of all possibilities is simply inconceivable.This is why traditional optimization methods, such as 'linear programming' (Cheung and Auger 1976) and 'non-linear programming', seek to reduce the number of solutions to be searched -they trim the 'search space'.They rule out vast swathes of possible solutions because of the constraints that always surround any problem.They then search only the better solutions amongst those remaining.
For example, taking each possible crop in each parish as a separate dimension of the problem, if we were optimizing, say, total economic return, then 'good' solutions would be those points within the many-dimensional search space that combine maximum possible production of some expensive crop(s) with less than the maximum production of some other, cheaper crops.Hence traditional algorithms limit their search to just these sorts of alternative -the outer and more extreme parts of the vast solution space, and so with fast modern computers it is sometimes possible to evaluate all such extreme points in a realistic time.
However, when evaluating any particular pattern we need to keep in mind such things as changing prices for different crops, contrasting transport costs for different merchandise from different sub-regions and variable soil-suitability levels for different crops in different parishes.
This means that we are interested in many other possible solutions to our problem besides those 'good' solutions within the outer (total production) regions of solution space.
Expressed more technically, our problem's utility surface is too convoluted and non-convex to enable a simple division of the solution space into promising versus non-promising areas.This brings us back closer to the problem of having to evaluate all possible solutions -an impossible task.In other words, conventional optimization and exhaustive search are, frequently, simply impractical.

THE GENETIC ALGORITHM APPROACH
This is why we have here decided to use a type of 'evolutionary computing' known as the 'genetic algorithm'.It concedes that finding the demonstrably optimal solution is impossible; the best we can hope for is that we will find better and better solutions and hopefully, these will begin to approach the universal optimal solution.
This may be disappointing, but it is simply reality.It is better to be 'evolving' better and better solutions in the right direction -towards optimality, than to be dependent on a traditional search procedure that either breaks down completely due to information overload or finds an 'optimum' within some specialized and possibly inappropriate region within the vast, intractable and unsearchable reaches of solution space.
The workings of a genetic algorithm can be described at several levels of sophistication.Here we have opted for a general and relatively non-technical level.In our experience, this allows people to intelligently use our program.Moreover, the latter is 'point and click' software whose exploitation requires no detailed knowledge of underlying mechanisms.Those who wish to learn more about genetic algorithms' intricate procedures, such as selection, cross-over, insertion and mutation, can always consult many excellent books available such as those by Davis (1991) and by Goldberg (1989).Meanwhile, we will persist with our 'intelligent layperson's' guide.
In broad terms, genetic algorithms work by generating hundreds of random solutions/patterns, evaluating each one, and then semi-randomly 'mating' pairs of the better ones to produce 'child' solutions.The latter are made to inherit some of their characteristics from one parent and other characteristics from the other parent.Therefore, since the parents were all superior solutions in the first place, this new generation of children solutions will probably be more superior still.
Accordingly, the best solutions of this latest generation are duly scored and probabilistically selected; the better solutions have a higher chance of surviving to parenthood.Surviving solutions are then mated to produce the children solutions of the next generation.This whole process is then repeated, again and again, for perhaps hundreds of generations.Hence we would expect to see the best out of each succeeding generation's solutions get better and better -genetic evolution.This is a smarter search method than looking everywhere in just one part of the impossibly large solution space.Each generation of solutions is fairly similar to the previous one because it inherits its parents' characteristics, albeit in slightly different combinations.Therefore, total search activity is concentrated only on the more promising parts of solution space.Moreover, search results will almost certainly move in the right direction -continuous improvement.
There is, of course, a danger that the search will become 'inbred'.The generation of solutions that the search initially stumbled upon might be progressively refined until the genetic potential of such patterns is exhausted.The result would be that the quality of succeeding generations' best solution improves no more -the search procedure has climbed what is called a 'local hill'.It has found a local optimum within solution space rather than the universal optimum.
For this reason, a 'mutation' mechanism is always inserted into any genetic algorithm (Klimasauskas 1992).That is, from time to time the search procedure is made to 'break out' from its local hill by going to a mutated, different population of solutions elsewhere.This alternative 'tribe' of solutions is then genetically evolved through successive generations in the usual manner.The optimum pattern that is ultimately evolved from within the new sub-region's population of solutions might be superior to the one that was evolved from the initially-found population of solution patterns.
Indeed, several different evolutionary searches are often conducted simultaneously within different areas of solution space.Since the quality of the best found solution pattern in each of these searches can be continuously monitored, the less productive populations can be gradually dropped out of the program's activity and the more promising populations, along with their mutated variants, can continue to be evolved to ever-higher levels of quality.

EVOLUTIONARY COMPUTING AND RURAL MANAGEMENT
There are many books purporting to explain the evolutionary computing approach and some texts even apply it to spatial planning, for example, those by Yueng (1997) and by Krzanowski and Raper (2001).Moreover, Van Dijk et al (2001) explain fairly clearly how genetic algorithms can be used to solve some of the previously unsolved problems of applied geography.
The latter include using a GIS to optimally locate retail stores so that every district has a store and the total distance from all points to the nearest store is minimized.Also covered is the problem of optimally simplifying a line in order to chart a complex coastline more cheaply.Moreover, Brooks (2001) explains how to use a genetic algorithm to optimize the fragmentation and the edge effects of animal habitat layouts.
Moving closer to applications in agriculture, Chemin et al ( 2004) have used a computerized evolution strategy to optimize the mix of remotely sensed parameters that can best estimate the amount of moisture in soils from satellite images.Also, Attonaty et al (1997) have used an evolutionary computing approach, which takes into account the predictions of a stochastic weather estimator, to find optimal crop management strategies.
A very comprehensive overview of evolutionary computing in agriculture is Evolutionary algorithms and agricultural systems by David Mayer (2001).He points out that this problem domain is especially complicated due to factors such as upper limits on fertilization and irrigation, the possibility of soil depletion, over grazing, catastrophic thresholds, interaction effects, spatial heterogeneity and system variability.This makes evolutionary computing methods advisable.
In terms of what seems to be the best evolutionary computing approach, Mayer reports on no less than 25 studies in which a number of different optimization methods were used.In 18 of the 25, genetic algorithms or genetic algorithm hybrids were the most accurate in terms of how close to globally optimal their generated solution was.The implication is that there are good reasons why the genetic algorithm is a popular form of optimization.
Mayer then lists about 40 optimization projects that have used genetic algorithms to address agricultural problems.The latter include maximizing yields in hot houses, farm management, regional modeling and scheduling a breeding program.He does not mention any projects that specifically address the problem with which we are here concerned -optimization of a region's distribution of agricultural production.
Perhaps the closest effort to ours is that by Ververidis et al (2005).These researchers used a genetic algorithm to find the optimal spatial distribution of crops and grazing activity types across a region of Scotland.They presented a flowchart to show the reasoning behind their genetic algorithm's computer code, and such reasoning is very similar to that which underlies our own package.They have also taken the development of their algorithm to the point where they can plot the various patterns it suggests, along with estimated 'costs'.Planners can then trade the latter off against land and labour productivity.

OUR PROGRAM
The genetic algorithm that we ourselves have coded will now be described.It is fairly easy to outline the assumptions behind it -there are none.The nature of evolutionary computing is that the software itself simply keeps searching, without input from the user or from logical sequencing implicit within conventional computer instructions.Once the user has set the search style, the program simply moves in the direction of where the best solutions patterns are being found.
To be fair, the presentation and selection of our program's search parameters constitute a type of assumption(s), as does the belief that simulating biological evolutionary processes will take us closer to an optimum.But in general, our program is remarkably free from mechanistic suppositions.
Note that the current package is actually the authors' second attempt.The first one (Wyatt and Hossain 2005) was keen to let users see the optimal plan evolve before their own eyes.This was achieved by writing the code in the VisualBasic computer language, which incorporates commands that directly call the IDRISI GIS software package.Such commands would frequently generate a map on the computer's screen that displayed the best distribution of crops found so far, before the program continued on in its search for an even more optimal pattern.This form of animating the evolving, optimal patterns was chosen on the assumption that the user could learn more about the nature of their region, and potential higher-quality crop distributions within it, if they watched how certain crop types are drawn to certain areas, gradually, as the solution improves.One could always simply have the program present the user with the end-point, best-found solution pattern, but if people actually see this pattern evolve before their eyes they will probably gain greater planning insight.
Yet such animation in the former version was very slow.The computer simply took too long to output each map, and so the program became unwieldy and cumbersome.This is why the current version solves this problem to a large extent by not calling any GIS software at all.The user still sees maps appearing on the computer screen -maps that get more and more optimal as time passes, but such maps are just graphic images, on top of which are plotted different colored dots to represent the respective crops' different tonnages within each parish.Not only is this far simpler, faster and flexible, but it also allows planners in any region to use the program even when they do not have permanent access to a GIS.
To illustrate how our program actually works, we have implemented it in the South Gippsland region of Australia.As shown in Figure 1, this region starts at the eastern edges of the Melbourne metropolis and extends along the coast line in the country's south-eastern corner.It is a relatively productive area because it is fed by fairly high rainfall generated by the onshore winds coming predominantly from the south-west, and it is traversed by several rivers that rise in the mountains along its northern border and flow southwards into the ocean.It also derives considerable rural prosperity from being relatively close to the large domestic market of Melbourne.

Figure 1
The South Gippsland region (green) in Australia where our software package was trialed.

CONTROLLING THE SEARCH'S STYLE
A generalized flow chart of our software's core program is shown in Figure 2. It is fairly conventional and offers no new developments in terms of extending the mechanisms used by dozens of existing, similar programs.The input data is simply read in; the genetic algorithm is set in motion; every time a better crops distribution is found it is mapped onto the computer screen and so on.Where our program is different is in terms of its 'style', particularly the style of its user interface.
Basically, our program's overall style reflects its authors' belief that the genetic algorithm literature has been quiet about one major problem that dogs the whole approach: the tendency for the search to scale local hills despite the best intentions of clever mutation and other mechanisms.If the reader thinks about this, running a genetic algorithm is equivalent to lighting some small candles out in space.The candles may illuminate some local regions, but the mysteriously dark universe of undiscovered possibilities still lies before us.Moreover, there is no conceivable way around this problem.
Therefore, the only thing that can be done is to give the software's user an ability to experiment with different search parameters, all of which will tend to take the search in a different direction.Any user can then monitor the quality of the results so obtained, enabling them to further 'tweak' the search procedure towards higher-quality results rather than towards lower-quality results.In other words, we have deliberately designed our system to facilitate a high level of control, by the user, in real time.This tends to distinguish it from more traditional packages where the user has little control over the nature of the search.Accordingly, our program encourages users to experiment with different values for the different parameters to see whether or not they can find an even more optimal crops distribution than they were able to find previously.

Figure 3
The control screen for our genetic algorithm software.The user is able to help guide the search process by manipulating the push bars and option buttons.
Such user exploration is very important.The 'state of the art' of genetic algorithm theory precludes specification of the optimal combination of search parameter values; the latter depends on the nature of the problem being addressed and the data being used (Michalewicz and Fogel 2000).This means that maximal user-initiated experimentation is our best chance for unearthing high-quality solutions.To encourage it, we have built our software so that it resembles a 'flight simulator'.
For example, a more productive search is sometimes generated when high-quality parent solutions, as well as passing on their characteristics to their children solutions, actually become part of the next generation themselves.Alternatively, doing this might cause the search to become inbred too soon.Therefore, if the user finds that it pays dividends, in terms of faster progress towards higher-quality best-found solutions, he/she can elect to incorporate parent retention in the program by clicking the check box labeled 'Good parents live on'.Alternatively, if it seems to be a bad idea, this check box can be left unticked.Other possibilities for tweaking the search procedure are self explanatory from looking at Figure 3.
Also, the number of generations that the program should run for, the number of candidate patterns per generation and the percentage of solutions in each generation that are generated by evolution, by mutation and by random procedures can be controlled by the push bars on the top left.Finally, the push bars on the mid left can be manipulated to change the crops' respective market prices and levels of market demand, to reflect reality more closely.

VIEWING THE INPUT DATA
Further steps towards transparency, letting the user know exactly what is happening, are taken using the mechanism that is shown in the bottom left corner of Figure 3. Clicking here enables one to inspect one or all of the maps that constitute the program's base data.Indeed, one can even edit such maps, by clicking the 'Edit' button on the bottom left of the screen, and then watch the effect that such editing has on the nature of the optimal crop distributions being found.
For example, one can summon and/or edit maps of current local yields for the different crops, as shown in Figure 4.Note that these maps make it obvious that the region is mostly suited to pasture (dairying), and potatoes.Hence if the program is asked to optimize economic return, one would expect such crops to feature prominently in the best-found solution patterns.
Other maps that can be inspected include those showing transport costs for the different crops as well as those that plot soil suitability for the different commodities.Precursors of the latter are shown in Figure 5, and they were produced via a long and involved process based on considerable GIS-based analyses, as well as workshops that tapped into and consolidated the knowledge of many crop-specific experts -as described in the paper by Hossain, Sposito and Evans in this special issue.
The main message of these maps is that the high yields being obtained for potatoes, as shown in Figure 4, do not result from the region's soils being particularly suited to potatoes.We can see that in terms of soil suitability, it is more appropriate to grow sweet corn, and to a lesser extent, peas, broccoli and grapes.Hence in any run of our software that optimizes crop patterns' fit with the soil-suitability data, one would expect that, subject to market demand constraints, sweet corn, broccoli and grapes will figure more prominently than they do at present.
Note that the soil-suitability maps were actually too detailed for the parish level of resolution at which our genetic algorithm is working here.Therefore, using the ArcView GIS's 'Geo Processing Wizard', we intersected the map of parishes with Figure 5's maps in order to calculate an average soil suitability for each crop within each parish.Such numbers were then fed directly into the genetic algorithm's basic data file, as well as mapped for the user to see if desired.The latter maps are shown in Figure 6.
The same processes were carried out to produce generalized maps of post-climatic-change soil suitability, for each crop in each parish, as shown in Figure 7. Generally speaking, there is not a lot of difference between the pre-and post-climate change maps, but there are exceptions.For example, soil suitability for growing apples in the south west of the region changes from its current low value to a higher value after climate change has occurred.

EXTENDING THE SEARCH
Another option open to users is shown by the "Restart if on local hill" checkbox in Figure 3.This ensures that local hill climbing is not be endured for too long.That is, by clicking on this particular check box the user can make the search, whenever a local hill has been climbed, go to some other location and begin searching for better solutions from there.This is very useful because once any search becomes stuck at the top of a local hill, the program's best found solution will simply stop improving no matter how many generations the program runs for.This is illustrated in Figure 8 which is, of course, a full 'screen dump' of the program in action, which is why the screen is so crowded.The authors were keen, if possible, to have everything available on the screen at all times, thereby giving the program a 'flight simulator' sort of feel that places the user in complete control.In our experience, this makes any program far more transparent and user friendly than if it contains pull-down menus and/or many hidden screens.The downside is, of course, that readers of this paper will find Figure 8A difficult to read without zooming in to magnify it.Nevertheless, readers who seek greater detail can do just this.Meanwhile, the rest of our readers will look at the screen dumps at their current level of resolution, which should still enable them to understand our general arguments.Now, the graph(s) shown in the middle at the bottom of each screen have an x-axis representing the 'generation', or how long the search program has been running, and a y-axis whose height represents the quality of the solutions found at each generation.The bottom line indicates the average quality of all solution patterns in the search pool at that generation, and the top line shows the quality of the best solution amongst them.It is obvious that both the average quality of solutions and the quality of the best-found solution climb upwards, albeit at a decreasing rate of improvement, as the program continues to search.
In Figure 8A the 'Restart if on local hill' checkbox has not been clicked and so the search has proceeded continuously within what we suspect is the region of a 'local hill'.This is because the quality of both the average solution and the best found solution is asymptoting towards some steady value.
By contrast in Figure 8B, where unlike in Figure 8A the 'Restart if on local hill' check box has been clicked, a differently located search begins whenever the best found solution fails to improve after five successive generations.That is, a new seed population of solutions is randomly generated, and this new population is then evolved to see whether or not it finds a better pattern, at the top of its own local hill, than did previous searches.
We can see that the quality of the result in Figure 8A did not improve at all after about the 100 th of its 202 generations, whereas in Figure 8B the second local hill generated a solution pattern that was superior to any previously found -either within Figure 8A or on the earlier and later hills of Figure 8B.This is why the score for Figure 8A's crops distribution, shown just above its graph, is less than the score for Figure 8B's pattern, albeit marginally so.
Notice also that Figure 8A's and Figure 8B's maps, which always show the best pattern of crops found so far, differ.The colors represent the different crops, with red for carrots, brown for potatoes and so on, and the size of each dot represents the recommended tonnage for that crop in that parish.Note that parishes can contain several dots if several different crops are to be grown there.
Hence, by comparing the more optimal Figure 8B's distribution of crops with the less optimal distribution in Figure 8A, it can be seen that our program is suggesting overall productivity will be increased in South Gippsland if farmers grow more potatoes, carrots and pasture in several key parishes, and if they plant fewer grapes.

Figure 8
A typical result when the user has decided not to move the evolutionary search away from local hills (A) and when they have (B).The quality of each result can be gauged by the height of the progress graphs at the bottom.It is the second hill in Figure 8B that yields the best found solution pattern, and so the latter has been mapped.

COMPARING THE OPTIMAL AND CURRENT SITUATIONS
Better still, at any stage the highest quality solution so far found can instantly be compared with the current pattern of crops.The user achieves this by clicking the 'Compare' button in Figure 8, which is the top command button in the upper left section of the screen.This generates a map of the current crops distribution, as shown in Figure 9A, and then, if the user again clicks the 'Compare' button, the best pattern found so far will re-appear, as shown in Figure 9B.

Figure 9
By clicking on the 'Compare' button several times, the user can toggle between the current distribution of crops in the region (A) and the closer to optimal, best distribution of crops found so far (B).
Hence by constantly comparing the optimal distribution of crops in Figure 9B with the current distribution of crops in Figure 9A, users will derive insights into how the current situation will need to be transformed if productivity is to be improved.For instance, Figure 9 suggests that South Gippsland's current monetary return can be improved if the present dominance of pasture and potatoes (Figure 9A) is slightly relaxed in the direction of producing greater quantities of sweet corn, carrots and broccoli in certain key parishes.
This means, of course, that our optimizing program is also partly a form of Decision Support System.It will make planners more sensitive to the desirability, or otherwise, of potential changes in the regional crops distribution.They will become better informed about how a region might move from the status quo towards a more optimal future.This is particularly so given that the check boxes on the lower left of the screen allow users to specify what sort of optimum we are talking about -optimal monetary return, maximum fit with soil suitability, utmost fit with 'post climatic change soil suitability', greatest level of environmental preservation or minimal transport costs.
Note that our package holds off from committing the sin of much multi-criterion analysesit does not arbitrarily combine different sorts of optima.It would have been simple enough to write the program so that users could specify that they want to see say, the crops distribution that optimizes both economic return and environmental protection.All one would have to do would be to place an importance weighting on economic return and a corresponding weighting on environmental preservation in the search algorithm's objective function.But who is to say what these weights should be?
Perhaps economic return is twice as important as environmental protection; or perhaps it is only half as important; or why not 35:65 or whatever?We are unlikely to ever answer this question in a consensual way, so here it has been decided to have our program output just the economic optimum, or the environmental optimum or whatever -never a combined optimum.This will allow users to map the different sorts of optimal crops patterns and compare them.Then, if they have any common features it will perhaps be possible to modify the current crops pattern towards such features.However, the intricacies of how people are likely to use our program's outputs is beyond the scope of this particular paper.

EXPLORING THE OPTIMAL SOLUTION
Our program's ability to generate further insight into the details of any optimal solution is illustrated in Figure 10.Here a map of current sweet corn yields has been accessed by clicking on the relevant thumb nail of base maps in the bottom left hand corner of the screen and then on the 'Compare' button (Figure 9).This makes the program superimpose the chosen map, sweet corn yields, onto the best crops distribution found so far.
Since monetary return is being optimized, one would expect the program to recommend that sweet corn be grown mostly in blue, higher-yielding parishes rather than in grey, lower-yielding parishes where it would take space away from those crops that have high yields there.And sure enough, Figure 10 is actually suggesting that sweet corn should be grown mostly in blue rather than in grey colored parishes.Hence our program's outputs seem plausible.

Figure 10
An optimal distribution of crops superimposed on a map showing sweet corn yields, as accessed by the user in the 'Data' window on the bottom left.The program is generally suggesting that sweet corn be grown within the higher-yielding, blue parishes rather than within the lower-yielding, grey colored parishes.
Nevertheless, the interesting areas are those parishes that do not grow a certain crop despite its favorable yields, soil suitability, environmental resilience, transport savings or whatever.Our program will quickly identify such 'outlier' areas, along with details about the suitability for other crops there, which might help explain such counter intuitive (Schrage 2000), micro results.In other words, the program constitutes an exploratory mechanism that generates considerable information about the subtleties of trading off the growth of different crops within different parts of the region.

FUTURE DEVELOPMENT
There seems little doubt that evolutionary computing is one of the few practical approaches for making headway into the vitally important, but impossibly complex problem of optimizing crops' distribution.Yet further development of the method will require additional resources.
For example, the computer program that we have described here was written by the authors, not by professional programmers, and so it has many deficiencies.For instance, despite no longer using a GIS directly, it is still fairly slow.Also, despite the possibility of tweaking many different search parameters simultaneously, it has a tendency to become mired on local hills.Moreover, it has persistent problems in terms of appropriate expression of some of its outputs.A computer programmer could solve many of these problems by making the program much sleeker, faster, efficient and flexible to use.
Such professionalization of our software should also seek the full integration of the optimization algorithm with a genuine GIS.Although in its current form our software makes extensive use of maps, these are simply used as an input and output medium comprised of image files, and it merely uses simple editing facilities like those available in programs like Paintbrush.By contrast, if the genetic algorithm were incorporated into a fully functioning GIS, allowing extensive sorting, querying and exploration of patterns, the software's potential as both an optimizing and decision support system would be boosted immensely.
Secondly, resources need to be dedicated towards securing more accurate input data for the program.For example, some of the information about crop-specific yields that was used to test the program in South Gippsland was partially incomplete, and so had to be creatively manipulated.Better economic data from government statistics is a must if ever the genetic algorithm-based, optimizing procedure is to be used to underpin real-world decision making.
Thirdly, to gain widespread credibility our program needs to be tested and validated across several regions rather than just across South Gippsland.This should not be difficult because the software has been set up to run, generically, within any region that is able to supply the underlying data in an easy-to-collect format.Nevertheless, accurate assembling of such data is expensive.For instance, good estimates of different crops' realistic price levels, and their transportation costs, need to be grounded in specialized and region-specific knowledge.
Finally, any program that is used for planning thrives on inputs that reflect future changes.A useful start has been made here in the form of obtaining not only current soil-suitability data but also post-climatic-change estimates of the same information.Yet securing accurate forecasts of future trends in prices and market demand levels will require considerable econometric and futurology-based intelligence.Such data is essential if the optimization approach is going to be a viable component of improved rural management.

Figure 2 A
Figure 2A flowchart of the procedures that underlie our genetic algorithm-based software package EVOLUTIONARY COMPUTING FOR OPTIMIZING A REGION'S DISTRIBUTION OF AGRICULTURAL PRODUCTION ARTICLES 21.10

Figure 4
Figure 4Maps of crop-specific yields for supporting the program in the South Gippsland region

Figure 5
Figure 5Maps of soil suitability in the South Gippsland region

Figure 6
Figure 6Maps of generalized soil suitability for supporting the optimization program in the South Gippsland region

Figure 7
Figure 7 Maps of generalized, post-climatic-change soil suitability for supporting the optimization program in the South Gippsland region