{'fraction_non_alphanumeric': 0.025941289720739138, 'fraction_numerical': 0.012643153444614254, 'mean_word_length': 5.19120176947653, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Review on Automated Menu Planning Approaches

Corresponding Author: Hea Choon Ngo Faculty of Information and Communication Technology, Universiti Teknikal Malaysia Melaka, 76100, Melaka, Malaysia Email: heachoon@utem.edu.my Abstract: Planning is widely been used in many areas such as in medicine, administration, business, logistics, education, environment and family matters. In automated planning research, the word “plans” refers specifically to plans of action. It is about the representation of future behavior, generally a series of action, with temporal and other constraints on them for execution by some agents. Theoretically, planning is an important part of rational behavior. In this study, we review some of the studies that have been conducted in menu planning. It covers the introduction of menu planning, the state of the arts for nutrition care expert systems and the approaches that have been applied. Furthermore, the advantages and limitations of the methods commonly used for menu planning are also highlighted in this study.


Introduction
Planning is the task of finding a sequence of events to accomplish a desired goal and meet a set of domain constraints. Planning research has focused mainly on finding a feasible set of actions that achieve one or more goals (Fox, 1994). The work of planning can be dated back to the 1960s. Since then, the field of planning has witnessed continuous involvement by many researchers in the attempt to look for different strategies to automate planning.
Classical planning mostly concentrates on robotic applications such as Blocks World Planning and STRIPS. The classical approach to the planning problem is to start from specifications of the states, actions and effects of the actions and then try to infer a sequence of actions that achieves a particular state of affairs. However, current trends show that automated planning technology has become mature to be useful in applications ranging from space exploration to automated manufacturing (Nau, 2007).
Menu planning, a more domain specific type of planning is considered as a complex task that some researchers have attempted to computerize since the early 1960s (Balintfy, 1964;Eckstein, 1967). Menu planning problem is to find an optimal combination of menu items that meets particular nutritional, structural and variety requirements for a sequence of days (Balintfy, 1964). Besides, menu planning also involves the simultaneous consideration of several kinds of constraints such as the desired nutritional content, the preferences of the person, the number of meal and the expected form and the variety of meals (Kovacic, 1997). Studies in the area of automated menu planning often find different ways to generate meals to meet the needs of users and constraints.
A healthy diet is a diet that provides the right combination of energy and nutrients. Four characteristics explain a healthy diet: Adequate, balanced, moderate and varied (NCCFNM, 2010). The recommended nutrient intake is the dietary intake which satisfies the nutrient requirements of almost all (97-98%) healthy individuals. The range of intakes covered by the RNI and the tolerable upper limit of nutrient intake should be considered sufficient to prevent deficiency while avoiding toxicity (NCCFNM, 2005).
The food guide pyramid was developed by the U.S. Department of Agriculture (USDA) to assist Americans follow the Dietary Guidelines for Americans (Drummond and Brefere, 2003). It is developed to provide a framework for the right amounts and types of foods that can be consumed in combination to meet nutritional needs. The food guide pyramid consists of four levels that represent various food groups. People are encouraged to eat less of foods at the top of the pyramid and more of foods at the base of the pyramid. A well-balanced diet and eating a variety of foods contribute towards the provision of a range of different nutrients to the body.
The following section presents the details on approaches to menu planning. Then, the discussion on menu planning problem is given and finally the papers end with conclusion.

Approaches to Menu Planning
In this section, previous approaches used in menu planning to obtain optimal results will be described. These approaches are categorized into trial-and-error based approach, optimization based approach, metaheuristic approach and fuzzy reasoning approach. Under meta-heuristic approach is genetic algorithm that is widely used to solve more complex problems.

Trial-and-Error Based Approach
The pioneer of menu planning problem was Stigler (1945) who used trial and error technique to generate least-cost meals which became the foundation for menu planning today. The main objective was to find the least cost of meals for the American army. His mathematical model of diet problem is shown as follow (Lancaster, 1992).
Minimize: Where: C j = The cost of the j-th food X j = The quantity of the j-th food n i j = The i-th nutrient content of the j-th food b i = The i-th nutrient requirement The initial objective function was to minimize the total cost of food items where the combination of these food items contains nutrients that equal the standard nutrients requirement as suggested by nutrition experts. The Stigler's diet model was then extended and used worldwide in management science or operational research technique to solve menu planning problem for humans as well as diet problem for animals such as cattle or daily cows (Panne and Popp, 1963;Chappel, 1974;Roush et al., 1994;Glen, 1986;Lara and Romero, 1992;Munford, 1989;1996;Polimeno et al., 1999;Tozer and Stokes, 2001;Cadenas et al., 2004;Zhang and Roush, 2002;Mitani and Nakayama, 1997), pig (Gallenti, 1997;Jean dit Bailleul et al., 2001;Castrodeza et al., 2005;Pomar et al., 2007), aquaculture (Shaftel and Wilson, 1990) and sheep (Zioganas, 1981).
Besides that, in the area of artificial intelligence, a group of researchers from information technology field, Noah et al. (2004), proposed an artificial intelligent menu planning system named DietPal which is a webbased system for producing dietary and menu management. The DietPal was built for Malaysian dieticians and medical professionals of health centres which assisted them in creating healthy menus for patients based on their health problem history that defined menu constraints. The system benefits users in planning meals effectively with accurate nutrition requirements based on user's health history. Their study used trial and error exchange menu items approach with the food groups being based on the specification and guidelines from nutritionists. However, there was no user preference specification allowed in the process of generating healthy meals. Therefore, patients do not have any chance to select their preferred meals which may lead to unsatisfaction of user.
However, the combination of optimization and meta-heuristic approaches has currently become popular in solving menu planning problems. For instance, trial-and-error exchange menu items (Noah et al., 2004), steady-state genetic algorithms (Kahraman and Seven, 2005), multi-objective genetic algorithms with NSGA-II (Kaldirim and Kőse, 2006) and evolutionary algorithm (Seljak, 2009).

Optimization Approach
There are different approaches that have been applied in designing and developing menu planning model. One of these approaches is the optimization approach which is able to optimize the solution within predetermined restrictions. In this approach, there are several techniques that have been implemented by former scientists to achieve their goals of finding the most nutritious and cheapest menu.

Linear Programming
In 1959, Smith applied linear programming method to extend Stigler's diet problem model of minimizing total cost by developing three different models that considered taste and habits of consumers to increase level of palatability. His study considered raw food items instead of menu items. Results indicated the first model was unpalatable as the combination of food items was incompatible. The second model added more food items and restrictions to increase the compatibility of food, but produced more expensive meals. The last model was able to produce more palatable, nutritious and inexpensive meals. However, his study ignored the user preferences and variety.
Similarly, Bassi (1976) also extended Stigler's diet by using similar method to study the comparison of the diet using 1939, 1945 and 1975 food price respectively. He revealed that the total cost of food increased in line with time. However, he ignored the taste, appearance or aesthetic value of the food in his study. Foytik (1981) and Silberberg (1985) adopted linear programming technique to produce nutritious meals. Foytik (1981) aimed to survey the reaction of 60 volunteers from University of California on meals produced by linear programming compared to meals suggested by Thrifty Food Plan for a two week period. The author found that the meals produced by linear programming method were nutritious and yielded lower total cost compared to Thrifty Food Plan's meals. However, the participants commented on lack of variety of fruits, vegetables and too much sugar and cornmeal in the meals. Therefore, minimization of cost was not the only main objective in planning meals for a group of people without considering other elements such as variety of foods and preference of users.
Meanwhile, Silberberg's objective of study (1985) was to investigate food consumed by five income group levels based on theory of law of diminishing marginal product. The result noted that as household income rose, food spent per person declined for the first to second group and rose slightly between the second and third groups. Also, the food expenditure increased clearly for the fourth and fifth groups. However, the meals taken by participants appeared to have failed to achieve the standard RNI for individuals. On the other hand, meals produced by linear programming model claimed to be less expensive and nutritious but lacking in variety.
In contrast to other previous studies, Smith (1974) aimed to find least-cost diet model that considered quality and quantity of protein simultaneously to reduce malnutrition problem in Nigeria using linear programming approach. Lack of quantity of protein in daily meals is a major problem that contributes towards malnutrition problem in developing countries. However, his study focused on optimization of protein without taking into account the variety and preference of people in Nigeria.
Besides, another study by Colavita and D'orsi (1990) also placed priority on user preference. Their aims was to develop children's diet that considered the likes and dislikes of the child by giving higher score to favorite menu items based on the taste of the child. Using linear programming method, they were able to obtain optimal meals for breakfast, lunch, snack and dinner that contained the preferred menu items. However, there appeared to be lack of iron, saturated fat and calcium in the meals.
Similarly , Fletcher et al. (1994) were also concerned on individual's preferences compared to monetary cost. Using similar approach, the authors examined the palatable and healthy meals for chronic renal failure patients which allowed the patient to select the preferred menu items and at the same time, follow the clinical requirement of fulfilling specific nutrients allowance. Results indicated a list of several food items with the number of optimal frequency to be selected for daily meals appropriate for patients. However, the meals structure constraints were not considered in their study.

Integer Programming
When computer usage spread throughout the world, humans are bound to make full use of this technological discovery to their advantage. In menu planning problem, Balintfy (1964) was the first person who took alternative steps to develop Computer-Assisted Menu Planning system (CAMP) using computer codes and integer programming approach to find the best combinations of menu items that satisfy structural, particular nutritional and variety of needs for a number of days at minimum cost. Instead of using raw food or food items, he preferred to use menu items based on recipe. Besides, he considered the structural requirements (such as appetizer, entrée, cereal, bread and so on) and the variety of the menu which was not included in the previous studies. These added features made menu planning model appetizing and nutritionally balanced.
Many government and private organizations such as healthcare institutions, school foodservice and the hospitality industries applied the CAMP system to generate the least cost meals for consumers that resulted in 6-9% food cost reduction. Several years later, Balintfy (1975) continued to upgrade the CAMP system by applying multistage multiple-choice programming algorithm for food management application. The food management such as in hospitals, colleges, schools and mental as well as penal institutions, were concerned more on food cost and budget. Their objective were to find combinations of menu items for number of days that meet structural, nutritional needs, variety and compatibility constraints at least cost. Also, the CAMP system was greatly applied at three hospitals in New Orleans and University of Missouri Medical Centre in Columbia from 1965to 1970. Leung et al. (1995 proposed a diet-planning modeling system using a computer for people with optimizing over recipes. They aimed to minimize total cost as well as total cooking time (preparation time, waiting time, attentive cooking time or inattentive cooking time) using integer programming algorithm. The results noted that there was a clear conflict between the cooking time and the cost where the least-cost meals took more time to be served compared to least-time meals. It was because the least-cost meals used less expensive baked products that took more time to be cooked, whereas the least-time meals used raw fruit and cereal products which were more costly.

Mixed Integer Programming
Instead of using a fixed portion size of menu items, Armstrong and Sinha (1974) were interested in generating non-selective menus that portion size of menu items may vary on a particular positive range. They solved the problem called the quasi-integer programming problem using a custom mixed-integer programming algorithm of a branch-and-bound type. The motivation of their theory was to allow more flexibility in planning the menu while leaving the number of menu items unchanged. Results showed that the total cost obtained from flexible portion size meals had few decrements compared to fixed portion size meals. However, their proposed approach was still in early stages and further improvements have to be made to solve more complex situations in menu planning problem.

Bi-Criteria Mathematical Programming
Dietary constraints in menu planning often require nutrients involved are stable, but it was difficult to predefine this for the model. Moreover, based on several earlier studies on nutrition planning, nutritionist was not clear about the adequacy of the method used to obtain the recommended dietary levels and it was also questionable. Therefore, Benson and Morin (1987) took the alternative step to develop a model of mathematical programming for menu planning in developing countries. Their aims were to maximize energy and total protein to create a complete set of diet plans by applying a proposed bi-criteria mathematical programming model. This model had overcome many weaknesses of previous single-objective models in terms of quality, as well as quantity and variation of protein. Nevertheless, their study focused on developing efficient nutrition plans, without considering the preferences of user. Sklan and Daniel (1993) used a mixed-integer linear programming approach to calculate nutrition of human diet at least cost. The linear programming solved a series of linear equations to meet the dietary constraint while optimizing the objective function, wherein the objective function is to minimize costs. The model involved additional integer and bound restrictions to some of the variables using the revised simplex algorithm. Their study was proven to increase economical benefits as well improve nutritional adequacy of diets. However, this study did not include the preference of consumers.

Mixed Integer Linear Programming
Valdez-Peňa and Martĭnez-Alfaro (2003) applied a diet exchange system for menu planning for people of non-therapeutic adults. The purpose of the diet exchange system was to give the patients the power of substituting the assigned portion of food group, called exchanges, with any of the ingredient of their choice within the same food group. The diet exchange system was defined as a process used to build balanced and selective menu plan which had the right nutrient content to meet the requirements of the patient. Unfortunately, the solutions obtained was not entirely in line with reality, where the menu item was incompatible, lacked separation restrictions and in small serving portion. This happened because including additional restrictions will reduce the feasible area and makes the problem harder to solve. However, the advantage of this approach was that it was provided with simple process and straightforward which allowed simultaneous classification of many items using any Excel spreadsheet.

Multi-Criteria Decision Approach
Nutrition problems could also be applied to animal nutrition where Gallenti (1997) worked in analyzing the problem of feeding pigs with a multi criteria approach with many nutritional criteria and conflicting economic. The management of farm directly involved in making decision about feeding program for pigs wanted to increase the profit of their business by reducing the total costs and preserving the particular properties. The objectives are to minimize total costs and maximize net energy. The result clearly indicated the trade-off between the net energy of ration and the cost of feeding. This approach seems able to integrate multidisciplinary aspects that characterized the problem of agriculture production in the real world.
However, the limit focused the coefficients of nutrients from a mixed ration calculated by linear combination of the coefficients of a component which can vary between the sum of percentages of the components and the averages of the different sample.

Goal Programming
Goal programming is a branch of multiple-objective programming, which in turn is a branch of Multi-Criteria Decision Analysis (MCDA), also known as Multiple-Criteria Decision Making (MCDM). It can be considered an extension or creation of linear programming to handle multiple, often conflicting objective measures. Each of these measures is given a target value or goal to be met.
McCann-Rugg et al. (1983) placed a higher priority to food preferences of the patients and individual dietary needs compared to least-cost diet. Their study aimed to improve the generation of diabetic diets using goal programming method. Comparison between manual calculation by dieticians and goal programming methods revealed that less computational time was needed by goal programming approach to produce more accurate diets which fulfill the patients' preferences and balanced nutrition. However, the results obtained failed to achieve recommended nutrient intake for calcium and iron. Moreover, they did not categorize the selected items into meals structure.
Goal programming was proven to be a more accurate method for achieving balanced nutrition diet when considering a large scale of food items involving many nutrients compared to linear programming approach (Anderson and Earle, 1983). However, Romero and Rehman (1984) critiqued that the goal programming method used by Anderson and Earle (1983) only offered few improvements over conventional linear programming method and their method could be extended to multi-objective programming method instead of goal programming. Goal programming approach is a suitable approach when dealing with many objectives to be achieved in objective function and these objectives could be ranked according to their priorities.

Meta-heuristic Based Approach
Meta-heuristics approaches are also applicable to many problems where these approaches have been able to produce almost optimal solutions to the NPhard problems. One of the meta-heuristic method is a genetic algorithm.
The most recent study on the problem of diet was made by Kaldirim and Köse (2006) where applies multiobjective genetic algorithm approach to find the best solution. They considered two goals (maximize rating and minimize cost) separately and implemented a stateof-the-art multi-objective genetic algorithm, namely Nondominated Sorting Genetic Algorithm II (NSGA-II). Instead of 0/1 multidimensional knapsack problem, they allowed for each dish that will be rated in the interval (0-3) to represent the number of the corresponding dish portions appear in the menu list. The users had the opportunity to rate the dish based on the scale of 0-10 based on their personal preferences. This score will be maximized when solving the problem.
The nutritional requirement was based on gender and age of the user which they included via interface. The constraints set lower and upper limit of each nutrient involved. A hundred population sizes were generated randomly and compute the objective function. A feasible solution would have zero constraint violation and should be resolved with the use of fast non-dominated-sort procedure. Then, the following steps which were tournament selection, recombination and mutation were implemented in order to create a child population. The probability of crossover was 0.5 and the probability of mutation was equal to 1/N.
They had created an interface in three stages: The first stage allowed the users to input age and gender information. The second step was the score for food where the users could rate the available food based on their preference with a value of 1 to 10. Then, the last window provided a button for running the operation of GA to generate the recommended menu for users. This system was successfully used to produce healthy meals for users. However, the weakness found was the dishes were not placed in different categories such as breakfast, lunch and dinner. Thus, further research could be carried out to overcome the weakness and to improve the system.
Genetic algorithm or GA is a well-known optimization approach applied in different fields of applications and research, particularly to treat optimization problems (Thede, 2004;Paszkowicz, 2009;Thengade and Dondal, 2012;Sarwat, 2016). The concept of GA, introduced by Holland (1975), was inspired by Darwin's theory of evolution-"survival of the fittest". He (Holland) defined the theoretical basis of GA which is now known as the Simple Genetic Algorithm (SGA). In general, genetic algorithm can be considered as a metaheuristic search that mimics the process of natural evolution. It is based on the theory of evolution with the analogy that the best solution can be built if somehow the "good" parts of existing solutions are combined to create the new solutions.
The working principle of GA requires the understanding of several key terms such as chromosome, population, fitness function, selection, elitism, crossover and mutation. The term chromosome refers to the solution; which is in the form of genes. These genes can take several forms of representation including binary representation or integer representation. For binary solution, each gene can be represented by 0 or 1. Figure  1 shows two examples of individual solution or chromosome. The chromosome on the left is encoded in binary while the one on the right is encoded with integers (e.g., 16357 is the chromosome and 1, 6, 3, 5 and 7 are its genes). The performance in finding for the best solution can be further improved by hybridizing genetic algorithm with other methods. Besides, the hybrid genetic algorithm should achieve a balance between exploitation and exploration in producing solutions with high accuracy. The global exploration of search space guides the search reaching a feasible solution and at the same time exploiting mechanisms helps in searching optimum solution in shorter execution time (El-Mihoub et al., 2006).
There are various application of hybrid genetic algorithm for solving optimization problems and NPhard problems. In this chapter, the application of hybrid genetic algorithm are classified into two types of hybridization, which are application of hybrid genetic algorithm with other methods and application of hybrid genetic algorithm with local search.

Hybrid Genetic Algorithm with Other Methods
Literature on hybrid genetic algorithm with other methods from various application domains has been greatly published in recent years. For example, Wei and Zhao (2005) merged genetic algorithm with niche technique and Nelder-Mead's simplex method to solve global optimization of continuous multimodal functions. The hybridization genetic algorithm with niche technique was claimed to assist the algorithm in maintaining the population diversity, while simplex method contributed towards stronger exploitation capabilities to achieve global optimum solution in an effective way. However, they agreed that hybridization of genetic algorithm with other relevant local search methods will also enhance the performance of genetic algorithm in solving global optimization of continuous multimodal functions.
Another application of the hybrid genetic algorithm is the simulation optimization problem, where Wang (2005) combined genetic algorithm with neural network technique to determine the best values of input parameters. As experimentation of different parameters and variables in real situation is time-consuming and costly, simulation technique is the best way to find the accurate value of parameters without distributing the current process in reality. Application of neural network technique aimed to estimate the objective values with unknown explicit form and genetic algorithm helps in searching optimal design based on the estimated objective function. The author implemented the proposed algorithm to solve a pressure vessel design problem and demonstrated the effectiveness of his algorithm on several benchmarks.
Besides, the successful application of hybrid genetic algorithm was illustrated in area of dynamic plant layout problem (Balakrishnan et al., 2003). Dynamic programming which was a common technique used to solve this problem was no longer effective and practical for large dynamic layout problem, Therefore, the author combined genetic algorithm with dynamic programming to deal with the design of multi-period layout plans. Dynamic programming was applied in crossover operator to produce offspring, while Urban's method was used to create the initial population. Comparison with previous methods such as simulated annealing showed that the proposed algorithm had the potential to produce better solutions in every run for large problems.
Also, Chan et al. (2005) developed a hybrid genetic algorithm which combined GA with the method of Analytical Hierarchy Process (AHP) to solve distribution and production problem in the multifactory supply chain model. AHP method was applied to arrange numerous criteria which are interrelated and assigned weighted values according to their priorities. Meanwhile, genetic algorithm were utilized to determine job allocation into appropriate production plans. Results indicated that their proposed algorithm was reliable and robust.
Further application of hybrid genetic algorithm with other methods can be seen in numerous fields such as in yard crane scheduling problem (He et al., 2010), vehicle routing problem (Berger and Barkaoui, 2003), image segmentation problem (Awad et al., 2009), circuit ratiocut partitioning problem (Bui and Moon, 1998) and wavelet neural network problem (Pan et al., 2008).

Hybrid Genetic Algorithm with Local Search
Hybridization genetic algorithm with local search is usually implemented to solve many complex problems, where each new created offspring follows local optimization methods to lead the solution to the local optimum region before passing to the next generation. The local search performs local exploitation to individuals in the local neighborhood and genetic algorithm itself makes global exploration in the population. Hybridizing genetic algorithm with local search has delivered significant improvements in solving combinatorial problems which was able to enhance exploitation and exploration capability for high precision and feasible solution (El-Mihoub et al., 2006).
Based on past literature, Tseng and Lin (2009) proposed a hybrid genetic local search algorithm that combined two local search methods, known as Insertion Search (IS) and Insertion Search with Cutand-Repair (ISCR) methods in solving permutation flow shop scheduling problem. These two methods plays different roles where insertion search methods looks for a small neighborhood area while insertion search with cut-and-repair method searches for a large neighborhood area which enhances the capability of genetic algorithm to find the feasible and optimal solution. However, their proposed algorithm is problem-based algorithm which is only appropriate for specific permutation flow shop scheduling problem. For different application domains, modification needs to be made to the proposed algorithm to suit the structure of the specific problem.
Later, they continued to implement the proposed method which was proven to outperform the other methods to solve no-wait flow shop scheduling problem (Tseng and Lin, 2010). Similarly, Zhang et al. (2009) designed hybrid genetic algorithm method for solving permutation flow shop scheduling problem to minimize the total flow-time of jobs. The local search method was used to enhance the performance of each individual before entering the next generation. Based on the experimental analysis, the results showed that the proposed algorithm has received obtained 95.83 percent better solutions.
The application of local search combined with grouping genetic algorithm called hybrid grouping genetic algorithm resulted in good quality of the solution to solve the problem in Machine-Part Cell Formation (MPCF) (James et al., 2007). They claimed that local search procedure improved the solution quality and reduced the solution variability. Their proposed method gained better solution benchmarks in MPCF literature.
Besides, Lim and Huang (2006) were also interested to apply a new local search with genetic algorithm to solve three-index assignment problem, known as NPhard problem. In their study, mutation operator was substituted with the new local search method as the mutation operator was claimed to be not very useful in their problem. Every offspring produced by crossover operator would go through the local search procedure to enhance the quality of the offspring before entering the candidate's pool part.
In contrast to Wang et al. (2006), the application of local search was enhanced by employing neighborhood structure based on graph model with genetic algorithm for solving permutation flow shop scheduling problem with limited buffers. By doing so, the exploitation and exploration abilities to search in better global sense neighborhood could be well balanced. Moreover, in order to prevent premature convergence, a decision probability was applied to control the utilization of mutation operator and local search which was based on problem information. Computational results demonstrated the effectiveness and robustness of their proposed hybrid genetic algorithm in getting superior solutions.
In the same year, Essafi et al. (2008) and Gao et al. (2008) took the initiative to solve Job-shop Scheduling Problem (JSP) and flexible Job-shop Scheduling Problem (fJSP) respectively, which was categorized as complex and NP-hard problem. fJSP was more complex than traditional JSP because fJSP problem needed to define a routing policy such as which machine should be assigned for every operation to minimize the makespan, total workload and the machine workload. Therefore, Gao et al. (2008) proposed an improved variable neighborhood descent algorithm which involved two local search procedures; local search of moving one operation and local search of moving two operations. On the other hand, Essafi et al. (2008) combined genetic algorithm with an iterated local search method that used a longest path technique on a disjunctive graph model with the aim of minimizing total weighted tardiness. Overall, it was found that their proposed approaches were successful in obtaining higher quality solutions over several benchmarks.
In multi-stage supply chain problem, conventional optimization approach was claimed to be inappropriate in solving complex structure of supply chain that involved several processes beginning with the production of raw material until delivering the finished product to the customer. Therefore, Yun et al. (2009) incorporated hill climbing method and adaptive local search scheme with genetic algorithm in finding feasible and better solution. Application of the proposed hybrid genetic algorithm aimed to enhance the search capability for locating global optimal solution. Similarly, Yuan et al. (2008) applied hill climbing method with genetic algorithm to solve class of global optimization problems for continuous functions with box constraints. The computational results showed the effectiveness of their proposed algorithms respectively compared to other competing algorithms. Park (2001) also found the hybridization genetic algorithm was greatly useful in vehicle scheduling problem which considered three conflicting objectives of minimizing total weighted tardiness, total travel time and fleet size. Their proposed hybrid genetic algorithm that integrated a greedy interchange local optimization algorithm and employed a mixed farming and migration strategy resulted in feasible solution that fulfilled all constraints involved. However, he claimed that his algorithm attained longer computational time, which is targeted for improvements in future. Similarly, Bortfeldt and Gehring (2001) incorporated greedy heuristic with genetic algorithm to handle container loading problem with different size of boxes and single container.
In Misevicius' (2004) study of quadratic assignment problem, iterated local search was used to obtained higher quality solution by reconstruction of existing solution and continued following of improvement procedure. The iterated local search method benefits users in getting optimal solution faster as it needs a few steps to reach the next local optimal compared to random choosing of individual from the beginning. In this way, computational time could be decreased although involving a large population size. He found that his proposed algorithm was more powerful compared to other intelligent technique including traditional GA in solving quadratic assignment problem.
In the case of knapsack problem such as in industrial application of cutting of glass, steel, paper or wood and the placement of adverts in magazines and newspapers, it is the goal of managers to minimize the amount of wasted material. So, Hadjiconstantinou and Iori (2007) did a study focusing on two-dimensional single large object placement problem with the purpose of cutting the plane rectangle into smaller rectangular items with a given value and size in order to optimize the total values of the items cut. They also applied hybrid genetic algorithm which integrated new greedy algorithm, elitist strategy, heuristics online, immigration rate and tailored crossover operators. Results showed that their proposed method was able to gain better solution over several small and large benchmark test problems.
Lastly, the application of hybrid genetic algorithm was also recognized as being able to solve threematching problems which combined genetic algorithm with hill-climbing strategy and heuristic crossover to find quality solution (Magyar et al., 2000). Adaptive local search was also implemented to fine tune the individual online performance that outperformed the traditional genetic algorithm in terms of robustness criteria. Their proposed approach was claimed to give an approximately better solution approach to their previous algorithm of fine-tuned genetic algorithm without adaptation. Table 1 summarizes overall previous studies on different areas of application using hybrid genetic algorithm with local search.

Fuzzy Reasoning Approach
Fuzzy logic is defined as a set of mathematical principles for knowledge representation concerned with degrees of membership. This concept of certain degree or multivalence is the fundamental idea which propelled Zadeh Lofti of University Berkeley in the 1960's to introduce fuzzy logic (Brown and Harris, 1994). Unlike two-valued Boolean logic, fuzzy logic is multi-valued. Figure 2 displays this difference. Fuzzy logic uses the continuum of logical values between 0 (false) and 1 (true).
If X is a collection of objects denoted by x, then a fuzzy set A in X is defined as a set of ordered pairs (Equation 1): where, µ A (x) is called the membership function (Mf) of x in A, which maps X to the membership space M, M = [0,1]. Suppose that X = "Age" then A can assume various linguistic terms such as "young", "middle-aged" and "old" which are characterized by membership functions µ young (x), µ middle-aged (x) and µ old (x) respectively. This leads to the concept of linguistic variables, "Age" in this case whose values "linguistic values" are words or sentences in a synthetic or natural language ("young", "middle-aged" and "old" in this case). Typical membership functions for these linguistic values are displayed in Figure 3.  Tseng and Lin (2010;Zhang et al., 2009;Tseng and Lin, 2009;Wang et al., 2006) Job-shop scheduling Gao et al. (2008;Essafi et al., 2008) Vehicle scheduling Park (2001) Assignment Lim and Huang (2006;Misevicius, 2004;Magyar et al., 2000) Global optimization Yuan et al. (2008) Knapsack problem Bortfeldt and Gehring (2001)

Fuzzy Inference System
The general architecture of the fuzzy inference system is shown in Figure 4. Starting with fuzzification, the crisp inputs will be transformed into linguistic values (fuzzy values) using the membership functions stored in the fuzzy knowledge base. After the fuzzification stage, the inference engine will be executed. The inference engine describes the rule base which contains fuzzy ifthen rules to derive the output fuzzy values. Finally, the defuzzifier will transform the output fuzzy values from the inference engine into its final crisp values.
There are two common types of inference methods used for fuzzy reasoning; i.e. Mamdani inference method (Mamdani and Assilian, 1975) and Takagi-Sugeno inference method (Takagi and Sugeno, 1985). The difference between these two inference methods is that the former uses a fuzzy set to represent the rule consequent while the latter uses a linear function of the input variable to represent the rule consequent.
The benefits of fuzzy reasoning will be investigated and how it can address the menu planning problem. This is because fuzzy rules can flexibly tolerate the imprecise and uncertainty in the importance of the different nutritional standards from the expert knowledge. Lee et al. (2015) proposed an adaptive personalized diet linguistic recommendation mechanism based on Type-2 Fuzzy Logic System (T2FLS) and Genetic Fuzzy Markup Language (GFML). By using domain experts, an adaptive dietary assessment and recommendation ontology is designed. Then, a T2 FS-based GFML is constructed to describe the fuzzy knowledge base and the fuzzy rule base of the proposed mechanism, is developed by the use of genetic algorithms. Lee et al. (2010) focused on diabetes management. It uses a Type-2 Fuzzy Ontology (T2FO) to build three sixlayer T2FOS. A fuzzy personal profile ontology which consists of age, region, gender, behaviour, size and more. Layer six groups the user in demographics, such as: "Man", "Small", "Big", etc. A fuzzy food ontology for each food represents the data on the food group and content of macronutrient. Fuzzy personal food ontology consisted of two sets, planned and actual diet, that resolves to whether too much or too little was eaten, or should be eaten. The system allows a domain expert, such as medical or health experts, to input food items and diet goals. A user then inputs eaten items. Based on these inputs, as consulted by an "Intelligent Diet Recommendation Agent" to create a personalize meal plan that includes recommended serving. Wang et al. (2016) proposed a healthy diet assessment mechanism based in Fuzzy Markup Language (FML) for Japanese food. FML is used to describe the rule base and knowledge base of the constructed fuzzy logic system. In addition, ontology stores the necessary rule base and knowledge base of the adopted fuzzy inference mechanism. Lee et al. (2009) included the creation of a diet ontology using Fuzzy Modelling Language (FML). It concerned the logic of Fuzzy inference from the fuzzy terms, fuzzy variables and membership functions for fuzzy sets and give an indication of the healthiness to the user. Healthiness diet consists of five states: "VeryUnhealthy", "UnHealthy", "MediumHealthy", "Healthy" and "VeryHealthy". These classifications were generated by the system and also by the domain experts independently. The results compared with the performance of the system with that of domain experts.

Fuzzy Diet Model
Genetic Fuzzy Markup Language (GFML) is presented by Lee et al. (2011) to describe the knowledge base and rule base of the diet domain. The knowledge-base is constructed with the data from the common Taiwanese foods. Dietary healthy level is established to examine the balance of the three major macronutrients: The protein, carbohydrate and fat when consuming daily meals. There are five inputs: Percentage of Calories from Carbohydrates (PCC), Percentage of Calories from Protein (PCP), Percentage of Calories from Fat (PCF), Food Group Balance (FGB) and the Percentage of Caloric Ratio (PCR) are taken in fuzzy rules for mapping the "low", "medium" and "high" fuzzy terms, Dietary Health Level (DHL). The system is evaluated and validated by the domain experts via provided interface.
There are five attributes, namely PCC, PCP, PCF, FGB and Caloric Density (CD), are used by Wang et al. (2010) as the input fuzzy variables in the fuzzy rulebased inference. Besides, there is a user profile input, which includes body mass index (BMI) categories: "Underweight", "Overweight", "Normal" and "Obesity". The output fuzzy variable is DHL, which describes the healthiness of the eaten food.
Similarly, a three-layer T2FO is constructed with a domain layer, a category layer and a concept layer . The concept layer is composed of two sub-layers, namely the nutrition facts sub-layer and the item sub-layer. The output is also DHL and focuses on the possibility of a healthy nutrition status for the generated meals.  proposed food clustering analysis mechanism using the food nutrition composition database from Department of Health, Taiwan (DOH). Experts ranked the nutrients in terms of their importance to diabetes diet-care. This rank was used as a weight multiplied against the total quantity of a nutrient for each nutrients for diabetics, to give a total score for each food. Then, agglomerative Hierarchical Clustering Algorithm (HCA), based on average linkage distance was used to create hierarchical clusters. After that, these foods are classified by category using two methods: Level positioning and granular ranking. During the Food Clustering Mechanism phase, the levels of the seven major nutrients: Protein Calories, Carbohydrate, Fiber, Moisture, Cholesterol and Fat were computed for each food item. The granular ranking was based on a positive or negative effect of each of the nutrients in relation to diabetes care. A user can set up their personal preferences such as the height and the nutrition level for their own needs. If the user dislikes a food item, that food can be removed and replaced with similarity one by using the ontology naming tree. The results of his research serve as a basis for nutrition care knowledge management and provide more effective personalized diabetes diet-care services.
Insulin Vector, Diet Vector, Exercise Vector, Blood Glucose Level (BGL) Vector and 'X' (such as illness, stress, pregnancy etc) Vector are used by Sandham et al. (1998) as inputs to an Artificial Neural Network (ANN) to find the best Diet Exercise and Insulin (DEI) regime for optimization of BGL. Training was performed using backpropagation, incorporating an adaptive learning rate and momentum. It was found that 95 recurrent neurons layers return the best results using a procedure of trial-and-error.
In the work proposed by Buisson and Garel (2003), the patients enter their particulars such as weight, height, age and diagnoses for a user personal profile. Then, they enter the foods and the quantities consumed. Dieticians enter data with fuzzy values describing the possible imprecise. In order to find out minimal sets of relevant actions, a heuristic search algorithm is applied to perform on a meal to make it well balanced.
In another related work proposed by Wirsam and Uthus (1996), the system processes the nutrient intake, such as a dose-response curve in linguistic variables consisting of: Critical, clinical, optimal and sufficient for each nutrient. Each linguistic variable from 0 to 1 are based on the German Nutrition Recommendations for a person between 25-51 with light level of physical activity and average body size. Besides, fuzzy sets for some other substances such as alcohol, cholesterol and sucrose are also defined, with membership functions not start at 0. A Hamming distance is defined as measured in kitchen units, which is required in order to optimize the nutrient content of a daily diet. Furthermore, the Prerow value defined to measure how close meals come on average to the recommendations. Table 2 summarizes the previous work covered on Fuzzy Diet Model.  Lee et al. (2015;2010;Wang et al., 2009;2010) GA+ Fuzzy/ FML Wang et al. (2016;Lee et al., 2011) HCA + Ontology Naming Tree  Fuzzy Interval Buisson and Garel (2003) Neural Network (ANN) Sandham et al. (1998) Fuzzy Sets Wirsam andUthus (1996)

Discussion
Menu planning problem is considered as a Multi-Dimensional Knapsack Problem (MDKP) since it includes thousands of decision variables with multiple constraints and objectives (Seljak, 2009). MDKP problem is classified as NP-complete problem and multimodal problem by Seljak (2009) where it is the most difficult problem and requires super-polynomial time to find the optimal solution (Seljak, 2009). In general, optimization methods such as linear programming, branch-and-bound algorithm, hill climbing, local search, integer programming and others are guaranteed to produce optimal solution. However, these approaches have one fatal flaw where it is often too computationally expensive in solving NP-hard problems.
Moreover, according to Michalewicz and Fogel (2013), linear programming is not a suitable approach to solve multimodal problems. On the other hand, Wang (2005) claimed that genetic algorithm was effective and robust optimization algorithm which is suitable to solve discontinuous and multimodal functions even in a noisy environment. Therefore, current researches on menu planning problem turned to meta-heuristic approach such as evolutionary algorithm using NSGA-II method by Seljak (2009) and multi-objective genetic algorithms approach (Kahraman and Seven, 2005;Kaldirim and Kőse, 2006) in order to find the best combination of menu items that can satisfy all constraints.
In fact, using genetic algorithm by itself never guarantees the production of feasible solution. Therefore, several studies combined local search with genetic algorithm to guide the search for the feasible solution area has been discussed in this chapter. Application of local search with genetic algorithm in solving menu planning problem was done by Seljak (2009), Kahraman and Seven (2005) and Kaldirim and Kőse (2006). However, they only applied the local search procedure in the initialization step. Therefore, there is no guarantee the solution will be feasible before entering the next generation.
Apart from these studies, a technique which could be explored is local search in both initialization step and after mutation step. This is to ensure that the offspring is feasible from one generation to next generation. It helps to increase the performance of genetic algorithm in exploiting and exploring the solution space. These local searches assist genetic algorithm to exploit the global optima and guide the search towards a feasible region.
Apart from that, fuzzy logic is considered as a convenient tool to use in nutrition analysis. Based on the previous work, fuzzy logic can be used to promote healthier intake of nutrients through food suggestion and nutritional analysis. Fuzzy reasoning is a natural approach for knowledge representation concerned with degrees of membership (Carlson and Fullér, 2002). One of the benefits of fuzzy reasoning system is that they describe fuzzy rules that match the description of the real world process to a greater extent. Another benefit lies in the interpretability; this means that it is possible to explain why a specific value appeared at the output of the fuzzy system.

Conclusion
In this study, the fundamental concepts and methods related to automated menu planning have been discussed. The paper starts with introduction to automated planning and provides past and present works found in the literature. Much discussion was then given for menu planning and the methods that are commonly employed to generate a plan. However, many research opportunities are still available along this line and further investigations for other domain (e.g., travel planning, treatment planning and transport planning) can be carried out in the future.