US20150161912A1 - Analytics-based design and planning of creative menus - Google Patents

Analytics-based design and planning of creative menus Download PDF

Info

Publication number
US20150161912A1
US20150161912A1 US14/564,224 US201414564224A US2015161912A1 US 20150161912 A1 US20150161912 A1 US 20150161912A1 US 201414564224 A US201414564224 A US 201414564224A US 2015161912 A1 US2015161912 A1 US 2015161912A1
Authority
US
United States
Prior art keywords
menu
dishes
user
specified
dish
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/564,224
Inventor
Debarun Bhattacharjya
Florian Pinel
Lav R. Varshney
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US14/564,224 priority Critical patent/US20150161912A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BHATTACHARJYA, DEBARUN, PINEL, FLORIAN, VARSHNEY, LAV R.
Publication of US20150161912A1 publication Critical patent/US20150161912A1/en
Priority to US14/747,325 priority patent/US20150324938A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • AHUMAN NECESSITIES
    • A23FOODS OR FOODSTUFFS; TREATMENT THEREOF, NOT COVERED BY OTHER CLASSES
    • A23LFOODS, FOODSTUFFS, OR NON-ALCOHOLIC BEVERAGES, NOT COVERED BY SUBCLASSES A21D OR A23B-A23J; THEIR PREPARATION OR TREATMENT, e.g. COOKING, MODIFICATION OF NUTRITIVE QUALITIES, PHYSICAL TREATMENT; PRESERVATION OF FOODS OR FOODSTUFFS, IN GENERAL
    • A23L3/00Preservation of foods or foodstuffs, in general, e.g. pasteurising, sterilising, specially adapted for foods or foodstuffs
    • A23L3/34Preservation of foods or foodstuffs, in general, e.g. pasteurising, sterilising, specially adapted for foods or foodstuffs by treatment with chemicals
    • A23L3/3409Preservation of foods or foodstuffs, in general, e.g. pasteurising, sterilising, specially adapted for foods or foodstuffs by treatment with chemicals in the form of gases, e.g. fumigation; Compositions or apparatus therefor
    • A23L3/34095Details of apparatus for generating or regenerating gases
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61LMETHODS OR APPARATUS FOR STERILISING MATERIALS OR OBJECTS IN GENERAL; DISINFECTION, STERILISATION OR DEODORISATION OF AIR; CHEMICAL ASPECTS OF BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES; MATERIALS FOR BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES
    • A61L2/00Methods or apparatus for disinfecting or sterilising materials or objects other than foodstuffs or contact lenses; Accessories therefor
    • A61L2/16Methods or apparatus for disinfecting or sterilising materials or objects other than foodstuffs or contact lenses; Accessories therefor using chemical substances
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01FMIXING, e.g. DISSOLVING, EMULSIFYING OR DISPERSING
    • B01F35/00Accessories for mixers; Auxiliary operations or auxiliary devices; Parts or details of general application
    • B01F35/20Measuring; Control or regulation
    • B01F35/22Control or regulation
    • B01F35/2201Control or regulation characterised by the type of control technique used
    • B01F35/2207Use of data, i.e. barcodes, 3D codes or similar type of tagging information, as instruction or identification codes for controlling the computer programs, e.g. for manipulation, handling, production or compounding in mixing plants
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N30/00Investigating or analysing materials by separation into components using adsorption, absorption or similar phenomena or using ion-exchange, e.g. chromatography or field flow fractionation
    • G01N30/02Column chromatography
    • G01N30/88Integrated analysis systems specially adapted therefor, not covered by a single one of the groups G01N30/04 - G01N30/86
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • G06F17/50
    • G06F19/3475
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/20ICT specially adapted for the handling or processing of patient-related medical or healthcare data for electronic clinical trials or questionnaires
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/60ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to nutrition control, e.g. diets
    • AHUMAN NECESSITIES
    • A23FOODS OR FOODSTUFFS; TREATMENT THEREOF, NOT COVERED BY OTHER CLASSES
    • A23VINDEXING SCHEME RELATING TO FOODS, FOODSTUFFS OR NON-ALCOHOLIC BEVERAGES AND LACTIC OR PROPIONIC ACID BACTERIA USED IN FOODSTUFFS OR FOOD PREPARATION
    • A23V2002/00Food compositions, function of food ingredients or processes for food or foodstuffs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D2257/00Components to be removed
    • B01D2257/90Odorous compounds not provided for in groups B01D2257/00 - B01D2257/708
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N30/00Investigating or analysing materials by separation into components using adsorption, absorption or similar phenomena or using ion-exchange, e.g. chromatography or field flow fractionation
    • G01N30/02Column chromatography
    • G01N2030/022Column chromatography characterised by the kind of separation mechanism
    • G01N2030/025Gas chromatography
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N30/00Investigating or analysing materials by separation into components using adsorption, absorption or similar phenomena or using ion-exchange, e.g. chromatography or field flow fractionation
    • G01N30/02Column chromatography
    • G01N30/88Integrated analysis systems specially adapted therefor, not covered by a single one of the groups G01N30/04 - G01N30/86
    • G01N2030/8809Integrated analysis systems specially adapted therefor, not covered by a single one of the groups G01N30/04 - G01N30/86 analysis specially adapted for the sample
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0092Nutrition

Definitions

  • This disclosure relates generally to the field of food preparation, and relates more specifically to the use of analytics to design and plan creative menus that meet a set of stated requirements.
  • a menu is a set of dishes (i.e., sets of ingredients prepared according to respective recipes) that, together, constitute a meal (e.g., a soup, an entrée, a side, a dessert, and/or a beverage).
  • a menu may be defined by one or more attributes (i.e., potentially measurable features), such as novelty (e.g., how “new” the person consuming the food perceives the menu to be), nutrition level (e.g., how healthy the menu is), profitability (e.g., how much profit the menu is expected to bring to the person or establishment providing the menu), or the like.
  • a creative menu is a menu that is perceived to be highly novel, and that may optionally also be perceived as superior when considering other attributes.
  • menus that meet specific constraints, such as restrictions on ingredients (e.g., must be vegetarian, kosher, gluten-free, use locally-sourced ingredients, etc.), nutritional requirements (must not contain more than/less than x calories), or other constraints.
  • a menu creator should, for practical purposes, have access to the recipes for all of the dishes constituting the menu.
  • a recipe is a list of component ingredients and series of actionable tasks for modifying/cooking the ingredients to produce a dish.
  • the menu creator should also have access to a work plan (also referred to as a “menu plan”).
  • a work plan is a schedule of tasks for joint preparation of the recipes for all dishes constituting the menu, based on available resources and facilities.
  • Planning a creative menu is thus complicated by the consideration of required attributes and/or constraints for the menu, as well as the availability of the required resources and facilities.
  • the present disclosure provides a method for analytics-based design and planning of creative menus.
  • a method for designing and planning a menu wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe includes obtaining a user-specified ingredient that must be included in the menu, obtaining a user-specified criterion that must be satisfied by the menu, automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion, and automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
  • the present disclosure provides a device for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe includes obtaining a user-specified ingredient that must be included in the menu, where the device includes a processor and a computer-readable medium storing instructions, which when executed by the processor, cause the processor to perform operations.
  • the operations include obtaining a user-specified ingredient that must be included in the menu, obtaining a user-specified criterion that must be satisfied by the menu, automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion, and automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
  • the present disclosure provides a system for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe.
  • the system includes a database storing recipes for a plurality of potential dishes and an application server for automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed by automatically evaluating the plurality of dishes by optimizing over a user-specified criterion, wherein the plurality of dishes includes at least one dish that includes a user-specified ingredient.
  • FIG. 1 illustrates one embodiment of a system for planning a menu, according to the present disclosure
  • FIG. 2 is a block diagram illustrating the application server of FIG. 1 in greater detail
  • FIG. 3 illustrates an exemplary set of clusters of ingredients
  • FIG. 4 illustrates an exemplary set of clusters of recipes
  • FIG. 5 depicts two exemplary recipes modeled as directed acyclic graphs
  • FIG. 6 depicts an exemplary recipe modeled as a Latent Dirichlet Allocation topic model
  • FIG. 7 is a diagram depicting conversion of an exemplary menu into an exemplary work plan, in which the recipes comprising the menu are represented as directed acyclic graphs;
  • FIG. 8 depicts an exemplary detailed work plan in which tasks are scheduled on a common timeline and allocated to specific individuals or equipment for completion;
  • FIG. 9 is a flow diagram illustrating the high level method 900 for planning a menu, according to embodiments of the present disclosure.
  • FIG. 10 is a high-level block diagram of a general purpose computing device suitable for use in performing the functions described herein.
  • the present disclosure is related to a method and apparatus for analytics-based design and planning of creative menus.
  • Design of a menu involves the selection of the dishes that constitute the menu, while planning of the menu involves scheduling and delegating (e.g., to people or equipment) the tasks necessary to prepare the dishes.
  • one embodiment of the present disclosure automatically (i.e., with little or no human assistance) designs a menu that may be perceived to be novel and varied, and may also be perceived as superior when considering other attributes or constraints. Further embodiments plan the menu for execution in a manner that considers the available facilities and resources.
  • the present disclosure has particular applicability in the food industry, where it may be applied to design and plan menus in collaboration with entities that provide planning services to their customers (e.g., restaurants, nursing homes, schools, airlines, etc.).
  • entities that provide planning services to their customers e.g., restaurants, nursing homes, schools, airlines, etc.
  • Embodiments of the disclosure can provide direct analytical support to such entities.
  • One aspect of the present disclosure is to modify a function of a computer based on whether certain resources are available. For instance, the computer may assign specific menu preparation tasks to certain individuals and/or equipment based on availability, need, and/or time constraints. Notably, a machine is required to modify certain portions of the computer as tasks are identified, scheduled, and assigned.
  • Embodiments of the present disclosure transform a set of disparate criteria (e.g., individual ingredients, desired attributes, constraints, etc.) into a suggested menu and/or work plan (e.g., a set of dishes satisfying the criteria and/or a plan for preparing the set of dishes using available resources and facilities).
  • a set of ingredients or attributes does not typically dictate how, when, or by whom specific tasks will be performed.
  • embodiments of the present disclosure take a set of disparate criteria and transform it into a suggested menu and/or work plan.
  • some of the disparate criteria may be supplied by a human user, the transformation of the criteria into the suggested menu and/or workplan is performed with little or no human assistance (i.e., automatically).
  • an “attribute” as used herein refers to a feature of a menu or recipe that is deemed to be desirable.
  • some desirable features of menus and recipes include, but are not limited to: menus/recipes that are perceived to be novel, menus/recipes that are perceived to be tasty and flavorful, menus/recipes that demonstrate variety over time, menus/recipes that are compatible with a healthy lifestyle that meets nutritional requirements, menus/recipes that increase profit, menus/recipes that satisfy kitchen constraints and use available resources, menus/recipes that are opportunistic and economical with ingredient availability, menus/recipes with low carbon footprints, menus/recipes that are personalized for disparate tastes, and menus/recipes that meet dietary restrictions (e.g., nut-free, gluten-free, etc.).
  • dietary restrictions e.g., nut-free, gluten-free, etc.
  • FIG. 1 illustrates one embodiment of a system 100 for planning a menu, according to the present disclosure.
  • the system 100 generally comprises one or more endpoint devices 102 1 - 102 n (hereinafter collectively referred to as endpoint devices 102 ′′) coupled to a network 104 .
  • the network 104 generally comprises an application server 106 and one or more databases 108 1 - 108 m (hereinafter collectively referred to as “databases 108 ”).
  • the network 104 is a communications network.
  • the network 104 may be any type of communications network, such as for example, a traditional circuit switched network (e.g., a public switched telephone network (PSTN)) or an Internet Protocol (IP) network (e.g., an IP Multimedia Subsystem (IMS) network, an asynchronous transfer mode (ATM) network, a wireless network, a cellular network (e.g., 2G, 3G and the like), a long term evolution (LTE) network, and the like) related to the current disclosure.
  • IP Internet Protocol
  • IMS IP Multimedia Subsystem
  • ATM asynchronous transfer mode
  • wireless network e.g., a wireless network
  • a cellular network e.g., 2G, 3G and the like
  • LTE long term evolution
  • IP network is broadly defined as a network that uses Internet Protocol to exchange data packets.
  • Additional exemplary IP networks include Voice over IP (VoIP) networks, Service over IP (SoIP) networks, and the like.
  • the network 104 may comprise a core network that is in communication with one or more access networks (not shown), where the access networks may include a wireless access network (e.g., a WiFi network and the like), a cellular access network, a PSTN access network, a cable access network, a wired access network and the like.
  • the access networks may all be different types of access networks, may all be the same type of access network, or some access networks may be the same type of access network and other may be different types of access networks.
  • the core network and the access networks may be operated by different service providers, the same service provider or a combination thereof.
  • the network 104 includes an application server 106 and one or more databases 108 . Although only a single application server 106 and two databases 108 are illustrated, it should be noted that any number of application servers 106 or databases 108 may be deployed.
  • an application server 106 may comprise a general purpose computer configured as a special purpose computer, as illustrated in FIG. 10 and discussed below.
  • the application server 106 may perform the methods and algorithms discussed below related to planning a menu and/or work plan. For instance, the application server 106 may suggest a menu in response to a set of inputs (received from the endpoint devices 102 , for example) including required ingredients, desired flavor profiles/cuisines (e.g., seasonal and/or ethnic influences), and/or constraints (e.g., restrictions on ingredients, nutritional requirements, etc.).
  • the application server 106 may additionally suggest a work plan based on available facilities and/or resources.
  • the databases 108 may store data relating to menu planning.
  • a first database 108 1 may store a plurality of recipes.
  • the recipes are grouped according to one or more criteria, such as by cuisine (e.g., Italian, holiday, etc.), by dish (e.g., pasta, chicken, etc.), by course (e.g., appetizer, entrée, etc.), or the like.
  • a single recipe may belong to more than one group (e.g., a recipe for lasagna may belong to groups comprising “entrées” and “Italian cuisine”).
  • Each recipe comprises a list of ingredients and a series of steps for preparing the ingredients to produce a dish.
  • a second database 108 m may store information relating to ingredients and chemical compounds.
  • ingredients and chemical compounds may also be grouped according to one or more criteria.
  • multiple databases 108 may store the recipes, or multiple databases 108 may store the information relating to the ingredients and chemical compounds.
  • all recipes and all information relating to the ingredients and chemical compounds are stored in a single database 108 .
  • the network 104 is in communication with the endpoint devices 102 .
  • the endpoint devices 102 may be any type of computing device such as a desktop computer, a tablet computer, a laptop computer, a netbook, an ultrabook, a cellular telephone, a smart phone, a portable media device (e.g., an MP3 player), a gaming console, a portable gaming device, and the like. It should be noted that although only three endpoint devices 102 are illustrated in FIG. 1 , any number of endpoint devices 102 may be deployed.
  • the methods performed by the application server 106 may be performed locally by the endpoint devices 102 .
  • the endpoint devices 102 access the databases 108 directly over the network 104 and perform the methods and algorithms discussed below related to planning a menu.
  • the network 104 has been simplified.
  • the network 104 may include other network elements (not shown) such as border elements, routers, switches, policy servers, security devices, a content distribution network (CDN) and the like.
  • CDN content distribution network
  • FIG. 2 is a block diagram illustrating the application server 106 of FIG. 1 in greater detail.
  • the application server 106 receives a plurality of inputs from endpoint devices 102 .
  • the plurality of inputs relate to a menu to be planned, and may include, for example, required ingredients, desired flavor profiles/cuisines, and/or other constraints (e.g., restrictions on ingredients, nutritional requirements, etc.) on the menu.
  • the application server 106 produces as output a suggested menu responsive to the plurality of inputs.
  • the application server may also produce as output a work plan for preparing the menu based on the available facilities and resources.
  • the application server 106 transforms a set of criteria (e.g., individual ingredients, constraints, etc.) into a suggested menu and/or work plan (e.g., a set of dishes incorporating the criteria and/or a plan for preparing the set of dishes using available resources and facilities).
  • a set of criteria e.g., individual ingredients, constraints, etc.
  • a suggested menu and/or work plan e.g., a set of dishes incorporating the criteria and/or a plan for preparing the set of dishes using available resources and facilities.
  • the application server 106 generally comprises an assessment modeling engine 200 , a menu design engine 202 , and a menu planning engine 204 . Any of the modeling engine 200 , menu design engine 202 , and menu planning engine 204 may be implemented as a processor.
  • the assessment modeling engine 200 receives as input data gathered from a plurality of sources and, using this input, builds models to assess menu attributes.
  • the types of data received by the assessment modeling engine 200 include recipes, expert opinions (e.g., from chefs), and management interviews.
  • the models built by the assessment modeling engine 200 assess menu attributes such as novelty, variety, nutrition, and the like.
  • the data from which the models are built may be retrieved, for example, from one or more of the databases 108 .
  • the menu design engine 202 receives as input the models built by the assessment modeling engine 200 and user-specified criteria, and, using this input, designs a menu.
  • the user-specified criteria include required ingredients, desired flavor profiles/cuisines, and/or other attributes or constraints on the menu.
  • the user-specified criteria may be obtained, for example, from one of the endpoint devices 102 .
  • the menu design engine 202 optimizes over the user-specified criteria and attempts to satisfy any constraints. Embodiments of methods for designing a menu are discussed in greater detail below in connection with EQNs. 1-5.
  • the menu planning engine 204 receives as input the menus created by the menu design engine 202 and, using this input, schedules the work plan for preparing the menu.
  • One embodiment of a method for preparing a work plan is discussed in greater detail below in connection with FIGS. 7 and 8 .
  • the menu and/or work plan may be output by the menu planning engine 204 , for example to one or more of the endpoint devices 102 .
  • the data gathering process may collect several different types of data, including recipes, expert opinions, interviews, and/or external datasets.
  • the recipes may be retrieved from one or more of the databases 108 , which serve as sources for potentially performing re-combinations and modifications of existing recipes, and also for measuring novelty of menus.
  • the expert opinions may be provided by chefs and can be used to generate ideas for novel recipes and for performing other attribute assessment-related tasks.
  • the interviews may be provided by managers and/or other sources in the food preparation industry and contain information relating to available resources in the menu preparation facility, to costs and revenues associated with ingredients and dishes, and other types of information.
  • the expert opinions and interviews may be retrieved from one or more of the databases 108 .
  • the external datasets comprise data from external sources (e.g., databases other than the databases 108 ), which may be required depending on the desired attributes of the menu.
  • Data from external datasets may include information relating to the nutritional content of ingredients, to the seasonality of ingredients, or other information.
  • data gathering may involve clustering ingredients and recipes into groups of like items. Ingredients may be clustered according to various categoies, such as type of ingredient (e.g., fruit, spice, etc.) or type of cuisine (e.g., Jamaican, Hungarian, etc.). Each cluster will contain ingredients that fall into a stated category, and a given ingredient may be included in more than one cluster.
  • type of ingredient e.g., fruit, spice, etc.
  • type of cuisine e.g., Jamaican, Hungarian, etc.
  • FIG. 3 illustrates an exemplary set of clusters of ingredients.
  • FIG. 3 depicts three distinct ingredients: bananas, quinces, and paprika.
  • each of these ingredients is included in one or more of four potential clusters: “fruit,” “spices,” “Hungarian cuisine,” and “Jamaican cuisine.”
  • bananas are included in the clusters for both “fruit” and “Jamaican cuisine,” while quinces are included in the clusters for both “fruit” and “Hungarian cuisine.”
  • Paprika is included in the clusters for both “spices” and “Hungarian cuisine.”
  • recipes may be clustered according to various categories, such as type of dish (e.g., pasta, pizza, etc.) or type of cuisine (e.g., American, Italian, etc.). Each cluster will contain recipes that fall into a stated category, and a given recipe may be included in more than one cluster.
  • type of dish e.g., pasta, pizza, etc.
  • type of cuisine e.g., American, Italian, etc.
  • FIG. 4 illustrates an exemplary set of clusters of recipes.
  • FIG. 4 depicts three distinct recipes: “Mario's Pizza,” “Anna's Spaghetti Bolognese (Spag Bol),” and “My Mac and Cheese.”
  • each of these recipes is included in one or more of four potential clusters: “pizza dishes,” “pasta dishes,” “Italian cuisine,” and “American cuisine.”
  • “Mario's Pizza” is included in the clusters for both “pizza dishes” and “Italian cuisine”
  • “Anna's Spag Bol” is included in the clusters for both “pasta dishes” and “Italian cuisine.”
  • My Mac and Cheese is included in the clusters for both “pasta dishes” and “American cuisine.”
  • FIGS. 3 and 4 depict only one embodiment of a suitable approach to organizing data.
  • the assessment modeling engine 200 uses the gathered data to build assessment models for specified attributes.
  • the assessment models quantify a measure of how well a given recipe and/or menu satisfies a given attribute. Different types of data will be useful for modeling different attributes.
  • different modeling techniques may be implemented depending on the attributes to be modeled. Table 1, for example, presents some exemplary menu attributes, along with some of the data and modeling techniques that are considered useful for building assessment models of the stated attributes.
  • variety may be modeled using graph edit distance.
  • the recipes are represented as directed acyclic graphs.
  • FIG. 5 depicts two exemplary recipes modeled as directed acyclic graphs.
  • the graph representation G of the recipe includes vertices V representing ingredients or steps, edges E representing relationships between the vertices, and labels L that identify the specific ingredient or step represented by each vertex.
  • Several graph editing operations may be defined, including one or more of the following: substituting a vertex label, deleting a vertex, inserting a vertex, deleting an edge, and inserting an edge.
  • the graph edit distance d(G 1 , G 2 ) is then defined between the labeled graphs G 1 and G 2 as the minimum number of edits needed to convert G 1 into G 2 .
  • the variety of several graphs is defined as the variance of the pairwise edit distances among the graphs. Other measures of variety may include the standard deviation, mean, or entropy of the graphs, among other metrics.
  • variety may be modeled using probabilistic analysis (see, e.g., Table 1).
  • probabilistic analysis see, e.g., Table 1).
  • topic modeling One particular probabilistic analysis technique that may be used in this case is topic modeling.
  • the recipes are considered as documents that can be modeled as probabilistic mixtures, where the ingredients are probabilistically selected from a potential list of “topics” (i.e., combinations of ingredients).
  • each recipe is a distribution of topics, and the distance between recipes can be measured to generate a measure of variety.
  • FIG. 6 depicts an exemplary recipe modeled as a Latent Dirichlet Allocation (LDA) topic model.
  • LDA Latent Dirichlet Allocation
  • Document M contains N words.
  • Those words include ingredients x and topics z, where the topics are sets or combinations of ingredients.
  • an exemplary topic might include the following ingredients: lemon juice, salt, cooking spray, green onions, sour cream, canola oil, Dijon mustard, radishes, pita, and black olives.
  • the parameters ⁇ , ⁇ , and ⁇ represent parameters of a machine learning model and describe the kinds of topics present in the database 108 .
  • every recipe can be associated with a probability distribution over topics.
  • a menu can then be evaluated for variety based on the distance between the probability distributions over topics for recipes included in the menu.
  • the variety may be scored quantitatively as:
  • P T is the topic distribution for an associated recipe R 1 , . . . , R K .
  • the menu design engine 202 may design a menu.
  • the menu design engine 202 obtains as input one or more ingredients, one or more flavor profiles/cuisines, and/or one or more other attributes or constraints (e.g., on dietary compliance, cost, or ingredient availability).
  • design of a menu may start with a number S of initially selected (e.g., user-specified) ingredients, and then extend the ingredient set to include one or more new (e.g., not user-specified) ingredients.
  • the user may allow the system 100 to recommend further ingredients beyond the initially selected group of ingredients.
  • additional ingredients may be recommended based on frequent pairings (i.e., where the additional ingredients are those that are observed by the system 100 to be most frequently paired with one or more of the initially selected ingredients) and/or on common chemical compounds (i.e., where the additional ingredients are those that are observed by the system to share the most or the least chemical compounds with the initially selected ingredients).
  • the menu design engine 202 determines a dish superset (i.e., the set of potential dishes from which the menu may be chosen).
  • determining the dish superset comprises selecting all dishes that are both: (1) typical of the selected cuisines (e.g., pasta would be typical of Italian cuisine); and (2) contain at least one of the ingredients.
  • at least one ingredient in the set of initially selected ingredients is maintained in the menu.
  • each dish in the dish superset can be substituted with one or more of: (1) a canonical recipe for that dish (e.g., the most highly rated pizza recipe); (2) all of the recipes for that dish, as long as they contain at least one of the initially selected ingredients; or (3) a recipe for the dish that contains at least one of the initially selected ingredients and is generated using a computational creativity algorithm.
  • a canonical recipe for that dish e.g., the most highly rated pizza recipe
  • all of the recipes for that dish as long as they contain at least one of the initially selected ingredients
  • a recipe for the dish that contains at least one of the initially selected ingredients and is generated using a computational creativity algorithm.
  • Substitute recipes may be obtained from the databases 108 .
  • the number of dishes contained in the final dish superset may be denoted as M.
  • optimization is then employed to select specific dishes from the dish superset in order to generate a menu.
  • selection of specific dishes is formulated as an optimization model that optimizes a weighted linear function of scores for three attributes (e.g., novelty, taste, and variety), under constraints such as the availability of ingredients.
  • attributes e.g., novelty, taste, and variety
  • constraints such as the availability of ingredients.
  • i ⁇ ⁇ 1, . . . , M ⁇ Index for a dish in the superset of dishes (e.g., quiche, pie, etc.) j ⁇ ⁇ 1, . . . , N ⁇ : Index for ingredient (e.g., chicken, saffron, etc.) k ⁇ ⁇ 1, . . . , K ⁇ : Index for ingredient category (e.g., vegetable, meat, etc.) s ⁇ ⁇ 1, . . .
  • the novelty of a menu is the sum of the novelty measures of each dish in the menu.
  • the novelty of a dish can be computed, in one embodiment, by applying a metric such as Bayesian surprise to the ingredients of the dish.
  • NOV the novelty of the menu, NOV (y 1 , . . . , y M ; x 1 , . . . , x N ) may be computed as:
  • f NOV is the novelty score for a set of ingredients.
  • the taste of a menu (i.e., how “good” the taste is) can be computed by considering a known food pairing hypothesis that suggests that pairs of ingredients taste better when the component ingredients share more chemical compounds.
  • TASTE (y 1 , . . . , y M ; x 1 , . . . , x N ) may be computed as:
  • the variety of a menu can be computed by comparing the graph edit distances between pairs of recipes for dishes in the menu, or by using topic modeling, or by a combination of graph edit distance comparison and topic modeling.
  • a graph edit distance-based measure may compute the variety of the menu, VAR (y 1 , . . . , y M ; x 1 , . . . , x N ), as:
  • VAR ⁇ ( y 1 , ... ⁇ , y M ) ⁇ ⁇ j ⁇ i ⁇ y i ⁇ y l ⁇ d ⁇ ( G il ) ( EQN . ⁇ 4 )
  • the objective function is thus the weighted linear function of the measures for the attributes being balanced.
  • the objective function is:
  • the menu planning engine 204 creates a work plan for preparing the menu.
  • the work plan is a schedule of tasks for joint preparation of the recipes for all dishes constituting the menu, based on available resources and facilities.
  • the menu planning engine 204 takes as inputs directed acyclic graphs representing all of the recipes required to prepare the menu.
  • the menu planning engine 204 produces as an output the work plan, while determining if the menu can be prepared within any given time constraints.
  • FIG. 7 is a diagram depicting conversion of an exemplary menu into an exemplary work plan, in which the recipes comprising the menu are represented as directed acyclic graphs.
  • the directed acyclic graphs represent the menus as mathematical formalisms.
  • the vertices of the graphs represent actions to be taken by different people or equipment (e.g., boil water, slice vegetables, bake potatoes, etc.).
  • the edges connecting the vertices represent the sequences in which the actions are to be taken (e.g., the water should be boiled before the pasta is put in the water), and the edges are annotated with timing constraints that set limits on the maximum amount of time that may elapse between sequential actions (e.g., no more than eight minutes should elapse between putting the pasta in the boiling water and removing the pasta from the boiling water).
  • the menu planning engine 204 Given such a graph for each recipe in the menu (illustrated on the left side of FIG. 7 ), and a list of available resources (e.g., people and/or equipment), the menu planning engine 204 produces a plan (illustrated on the right side of FIG. 7 ) for the individual resources to prepare the menu (and other summaries, such as the total time required).
  • the plan may assign specific actions in the directed acyclic graphs to specific individuals who are available to prepare the menu (e.g., John will slice the vegetables).
  • FIG. 8 depicts an exemplary detailed work plan in which tasks are scheduled on a common timeline and allocated to specific individuals or equipment for completion.
  • FIG. 9 is a flow diagram illustrating the high level method 900 for planning a menu, according to embodiments of the present disclosure.
  • the method 900 may be performed, for example, by the application server 106 illustrated in FIGS. 1 and 2 and described in detail above. However, it will be appreciated that the method 900 is not limited to implementation on the application server 106 ; in alternate embodiments, the method 900 may be performed by other devices or systems, including the endpoint devices 102 or a general purpose computing device that is configured as a special purpose computing device.
  • the method 900 begins in step 902 .
  • the assessment modeling engine 200 gathers data from one or more sources.
  • the gathered data may include one or more of the following types of data: recipes, chef expert opinions, or management interviews. Any one or more of these types of data may be obtained from one of the databases 108 , or from an external database.
  • the assessment modeling engine 200 builds one or more models in accordance with the data gathered in step 904 .
  • the models are build to help assess menu attributes, such as novelty, variety, nutrition, or the like.
  • the assessment modeling engine 200 may use one or more of the modeling techniques listed in Table 1 (above) to build models using the gathered data.
  • the menu design engine 202 obtains a plurality of inputs.
  • the inputs obtained by the menu design engine 202 may include one or more of the following: one or more user-specified cuisines (e.g., Indian, holiday, etc.), one or more user-specified ingredients (e.g., chicken, eggs, etc.), one or more user-specified desired attributes (e.g., novelty, variety, etc.), or one or more user-specified constraints (e.g., no more than x calories, no gluten, etc.).
  • any one or more of the user-specified inputs may be provided using one or more of the endpoint devices 102 .
  • the menu design engine 202 extends the ingredient set.
  • the ingredient set may be extended by adding new ingredients that pair well in the menu (but not necessarily in the same recipe) with user-specified ingredients obtained in step 908 .
  • the menu design engine 202 consults a database of recipes (e.g., one of the databases 108 ) for information on pairing of ingredients.
  • the menu design engine 202 may evaluate taste metrics (e.g., sharing of chemical compounds) for ingredient pairs.
  • the menu design engine 202 determines a dish superset.
  • the dish superset comprises a set of all potential dishes from which the menu may be selected.
  • the dish superset may be constructed by performing standard database queries (e.g., to the databases 108 ) that identify all dishes in the database that correspond to user-specified cuisines and contain at least one of the ingredients in the (optionally extended) ingredient set.
  • the menu design engine 202 determines the menu in accordance with the dish superset. That is, the menu design engine 202 selects one or more of the dishes in the dish superset for inclusion in the menu.
  • dishes are selected from the dish superset in accordance with an optimization technique that finds a set of dishes that “fit together” (e.g., based on a weighted function of user-specified attributes, subject to user-specified constraints). For instance, dishes may be selected from the dish superset by considering the optimization problem detailed in EQNs. 1-5, above.
  • the menu planning engine 204 designs a work plan in accordance with the menu designed in step 914 and the available resources and facilities. That is, the menu planning engine 204 plans a detailed schedule of tasks to be performed, concurrently, by the available people and equipment in order to produce the menu within a specified period of time. As discussed above in connection with FIG. 7-8 , designing the work plan may involve representing each recipe in the menu as a directed acyclic graph and then implanting bipartite matching in the individual stages of the recipes.
  • step 918 the menu planning engine 204 outputs the work plan (e.g., to one or more of the endpoint devices 102 ).
  • the method 900 then ends in step 920 .
  • FIG. 10 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein.
  • the system 1000 comprises a hardware processor element 1002 (e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor), a memory 1004 , e.g., random access memory (RAM) and/or read only memory (ROM), a module 1005 for planning a menu and/or work plan, and various input/output devices 1006 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, an input port and a user input device (such as a keyboard, a keypad, a mouse, a microphone and the like)).
  • a hardware processor element 1002 e.g., a central processing unit (CPU), a microprocessor
  • the general-purpose computer may employ a plurality of processor elements.
  • the general-purpose computer may employ a plurality of processor elements.
  • the general-purpose computer of this figure is intended to represent each of those multiple general-purpose computers.
  • the present disclosure can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents, e.g., computer readable instructions pertaining to the respective systems and/or methods discussed above can be used to configure a hardware processor to perform the steps functions and/or operations of the above disclosed systems and methods.
  • instructions and data for the present module or process 1005 for planning a menu and/or work plan e.g., a software program comprising computer-executable instructions
  • hardware processor element 1002 can be loaded into memory 1004 and executed by hardware processor element 1002 to implement the steps, functions or operations as discussed above in connection with the exemplary systems 100 and 106 and/or method 900 .
  • the processor executing the computer readable or software instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor.
  • the present module 1005 for planning a menu and/or work plan (including associated data structures) of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like.
  • the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server.
  • the hardware processor can be configured or programmed to cause other devices to perform one or more operations as discussed above. In other words, the hardware processor may serve the function of a central controller directing other devices to perform the one or more operations as discussed above.
  • the present invention may be a system, a method, and/or a computer program product.
  • the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
  • the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
  • the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • a non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
  • RAM random access memory
  • ROM read-only memory
  • EPROM or Flash memory erasable programmable read-only memory
  • SRAM static random access memory
  • CD-ROM compact disc read-only memory
  • DVD digital versatile disk
  • memory stick a floppy disk
  • a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
  • a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
  • Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
  • the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
  • a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
  • Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
  • the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
  • These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures.
  • two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Chemical & Material Sciences (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Epidemiology (AREA)
  • Public Health (AREA)
  • General Chemical & Material Sciences (AREA)
  • Nutrition Science (AREA)
  • Algebra (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Veterinary Medicine (AREA)

Abstract

In one embodiment, the present disclosure provides a method for analytics-based design and planning of creative menus. A method for designing and planning a menu, wherein the menu comprises at least one dish comprising a set of ingredients prepared according to a recipe includes obtaining a user-specified ingredient that must be included in the menu, obtaining a user-specified criterion that must be satisfied by the menu, automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion, and automatically selecting the at least one dish from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein the at least one dish includes the user-specified ingredient.

Description

    FIELD OF THE DISCLOSURE
  • This disclosure relates generally to the field of food preparation, and relates more specifically to the use of analytics to design and plan creative menus that meet a set of stated requirements.
  • BACKGROUND OF THE DISCLOSURE
  • A menu is a set of dishes (i.e., sets of ingredients prepared according to respective recipes) that, together, constitute a meal (e.g., a soup, an entrée, a side, a dessert, and/or a beverage). A menu may be defined by one or more attributes (i.e., potentially measurable features), such as novelty (e.g., how “new” the person consuming the food perceives the menu to be), nutrition level (e.g., how healthy the menu is), profitability (e.g., how much profit the menu is expected to bring to the person or establishment providing the menu), or the like.
  • There is an increasing demand in the field of food preparation for “creative” menus. A creative menu is a menu that is perceived to be highly novel, and that may optionally also be perceived as superior when considering other attributes. In addition, there is an increasing demand for menus that meet specific constraints, such as restrictions on ingredients (e.g., must be vegetarian, kosher, gluten-free, use locally-sourced ingredients, etc.), nutritional requirements (must not contain more than/less than x calories), or other constraints.
  • A menu creator should, for practical purposes, have access to the recipes for all of the dishes constituting the menu. A recipe is a list of component ingredients and series of actionable tasks for modifying/cooking the ingredients to produce a dish. The menu creator should also have access to a work plan (also referred to as a “menu plan”). A work plan is a schedule of tasks for joint preparation of the recipes for all dishes constituting the menu, based on available resources and facilities.
  • Planning a creative menu is thus complicated by the consideration of required attributes and/or constraints for the menu, as well as the availability of the required resources and facilities.
  • SUMMARY OF THE DISCLOSURE
  • In one embodiment, the present disclosure provides a method for analytics-based design and planning of creative menus. For example, a method for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe includes obtaining a user-specified ingredient that must be included in the menu, obtaining a user-specified criterion that must be satisfied by the menu, automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion, and automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
  • In another embodiment, the present disclosure provides a device for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe includes obtaining a user-specified ingredient that must be included in the menu, where the device includes a processor and a computer-readable medium storing instructions, which when executed by the processor, cause the processor to perform operations. The operations include obtaining a user-specified ingredient that must be included in the menu, obtaining a user-specified criterion that must be satisfied by the menu, automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion, and automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
  • In another embodiment, the present disclosure provides a system for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe. The system includes a database storing recipes for a plurality of potential dishes and an application server for automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed by automatically evaluating the plurality of dishes by optimizing over a user-specified criterion, wherein the plurality of dishes includes at least one dish that includes a user-specified ingredient.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The teachings of the present disclosure can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
  • FIG. 1 illustrates one embodiment of a system for planning a menu, according to the present disclosure;
  • FIG. 2 is a block diagram illustrating the application server of FIG. 1 in greater detail;
  • FIG. 3 illustrates an exemplary set of clusters of ingredients;
  • FIG. 4 illustrates an exemplary set of clusters of recipes;
  • FIG. 5 depicts two exemplary recipes modeled as directed acyclic graphs;
  • FIG. 6 depicts an exemplary recipe modeled as a Latent Dirichlet Allocation topic model;
  • FIG. 7 is a diagram depicting conversion of an exemplary menu into an exemplary work plan, in which the recipes comprising the menu are represented as directed acyclic graphs;
  • FIG. 8 depicts an exemplary detailed work plan in which tasks are scheduled on a common timeline and allocated to specific individuals or equipment for completion;
  • FIG. 9 is a flow diagram illustrating the high level method 900 for planning a menu, according to embodiments of the present disclosure; and
  • FIG. 10 is a high-level block diagram of a general purpose computing device suitable for use in performing the functions described herein.
  • DETAILED DESCRIPTION
  • In one embodiment, the present disclosure is related to a method and apparatus for analytics-based design and planning of creative menus. Design of a menu involves the selection of the dishes that constitute the menu, while planning of the menu involves scheduling and delegating (e.g., to people or equipment) the tasks necessary to prepare the dishes. For example, one embodiment of the present disclosure automatically (i.e., with little or no human assistance) designs a menu that may be perceived to be novel and varied, and may also be perceived as superior when considering other attributes or constraints. Further embodiments plan the menu for execution in a manner that considers the available facilities and resources. The present disclosure has particular applicability in the food industry, where it may be applied to design and plan menus in collaboration with entities that provide planning services to their customers (e.g., restaurants, nursing homes, schools, airlines, etc.). Embodiments of the disclosure can provide direct analytical support to such entities.
  • One aspect of the present disclosure is to modify a function of a computer based on whether certain resources are available. For instance, the computer may assign specific menu preparation tasks to certain individuals and/or equipment based on availability, need, and/or time constraints. Notably, a machine is required to modify certain portions of the computer as tasks are identified, scheduled, and assigned.
  • Embodiments of the present disclosure transform a set of disparate criteria (e.g., individual ingredients, desired attributes, constraints, etc.) into a suggested menu and/or work plan (e.g., a set of dishes satisfying the criteria and/or a plan for preparing the set of dishes using available resources and facilities). In other words, a set of ingredients or attributes does not typically dictate how, when, or by whom specific tasks will be performed. However, embodiments of the present disclosure take a set of disparate criteria and transform it into a suggested menu and/or work plan. Although some of the disparate criteria may be supplied by a human user, the transformation of the criteria into the suggested menu and/or workplan is performed with little or no human assistance (i.e., automatically).
  • An “attribute” as used herein refers to a feature of a menu or recipe that is deemed to be desirable. For example, some desirable features of menus and recipes include, but are not limited to: menus/recipes that are perceived to be novel, menus/recipes that are perceived to be tasty and flavorful, menus/recipes that demonstrate variety over time, menus/recipes that are compatible with a healthy lifestyle that meets nutritional requirements, menus/recipes that increase profit, menus/recipes that satisfy kitchen constraints and use available resources, menus/recipes that are opportunistic and economical with ingredient availability, menus/recipes with low carbon footprints, menus/recipes that are personalized for disparate tastes, and menus/recipes that meet dietary restrictions (e.g., nut-free, gluten-free, etc.).
  • FIG. 1 illustrates one embodiment of a system 100 for planning a menu, according to the present disclosure. The system 100 generally comprises one or more endpoint devices 102 1-102 n (hereinafter collectively referred to as endpoint devices 102″) coupled to a network 104. The network 104, in turn, generally comprises an application server 106 and one or more databases 108 1-108 m (hereinafter collectively referred to as “databases 108”).
  • The network 104 is a communications network. The network 104 may be any type of communications network, such as for example, a traditional circuit switched network (e.g., a public switched telephone network (PSTN)) or an Internet Protocol (IP) network (e.g., an IP Multimedia Subsystem (IMS) network, an asynchronous transfer mode (ATM) network, a wireless network, a cellular network (e.g., 2G, 3G and the like), a long term evolution (LTE) network, and the like) related to the current disclosure. It should be noted that an IP network is broadly defined as a network that uses Internet Protocol to exchange data packets. Additional exemplary IP networks include Voice over IP (VoIP) networks, Service over IP (SoIP) networks, and the like.
  • In one embodiment, the network 104 may comprise a core network that is in communication with one or more access networks (not shown), where the access networks may include a wireless access network (e.g., a WiFi network and the like), a cellular access network, a PSTN access network, a cable access network, a wired access network and the like. In one embodiment, the access networks may all be different types of access networks, may all be the same type of access network, or some access networks may be the same type of access network and other may be different types of access networks. The core network and the access networks may be operated by different service providers, the same service provider or a combination thereof.
  • As discussed above, the network 104 includes an application server 106 and one or more databases 108. Although only a single application server 106 and two databases 108 are illustrated, it should be noted that any number of application servers 106 or databases 108 may be deployed.
  • One embodiment of an application server 106 is described in greater detail in connection with FIG. 2. In another embodiment, the application server 106 may comprise a general purpose computer configured as a special purpose computer, as illustrated in FIG. 10 and discussed below. In one embodiment, the application server 106 may perform the methods and algorithms discussed below related to planning a menu and/or work plan. For instance, the application server 106 may suggest a menu in response to a set of inputs (received from the endpoint devices 102, for example) including required ingredients, desired flavor profiles/cuisines (e.g., seasonal and/or ethnic influences), and/or constraints (e.g., restrictions on ingredients, nutritional requirements, etc.). The application server 106 may additionally suggest a work plan based on available facilities and/or resources.
  • In one embodiment, the databases 108 may store data relating to menu planning. For instance, a first database 108 1 may store a plurality of recipes. The recipes are grouped according to one or more criteria, such as by cuisine (e.g., Italian, holiday, etc.), by dish (e.g., pasta, chicken, etc.), by course (e.g., appetizer, entrée, etc.), or the like. A single recipe may belong to more than one group (e.g., a recipe for lasagna may belong to groups comprising “entrées” and “Italian cuisine”). Each recipe comprises a list of ingredients and a series of steps for preparing the ingredients to produce a dish. A second database 108 m may store information relating to ingredients and chemical compounds. These ingredients and chemical compounds may also be grouped according to one or more criteria. In an alternative embodiment, multiple databases 108 may store the recipes, or multiple databases 108 may store the information relating to the ingredients and chemical compounds. In a further embodiment still, all recipes and all information relating to the ingredients and chemical compounds are stored in a single database 108.
  • In one embodiment, the network 104 is in communication with the endpoint devices 102. In one embodiment, the endpoint devices 102 may be any type of computing device such as a desktop computer, a tablet computer, a laptop computer, a netbook, an ultrabook, a cellular telephone, a smart phone, a portable media device (e.g., an MP3 player), a gaming console, a portable gaming device, and the like. It should be noted that although only three endpoint devices 102 are illustrated in FIG. 1, any number of endpoint devices 102 may be deployed.
  • In an alternative embodiment, the methods performed by the application server 106 may be performed locally by the endpoint devices 102. In this case, the endpoint devices 102 access the databases 108 directly over the network 104 and perform the methods and algorithms discussed below related to planning a menu.
  • It should be noted that the network 104 has been simplified. For example, the network 104 may include other network elements (not shown) such as border elements, routers, switches, policy servers, security devices, a content distribution network (CDN) and the like.
  • FIG. 2 is a block diagram illustrating the application server 106 of FIG. 1 in greater detail. In general, the application server 106 receives a plurality of inputs from endpoint devices 102. The plurality of inputs relate to a menu to be planned, and may include, for example, required ingredients, desired flavor profiles/cuisines, and/or other constraints (e.g., restrictions on ingredients, nutritional requirements, etc.) on the menu. The application server 106 produces as output a suggested menu responsive to the plurality of inputs. In addition, the application server may also produce as output a work plan for preparing the menu based on the available facilities and resources. Thus, the application server 106 according to embodiments of the present disclosure transforms a set of criteria (e.g., individual ingredients, constraints, etc.) into a suggested menu and/or work plan (e.g., a set of dishes incorporating the criteria and/or a plan for preparing the set of dishes using available resources and facilities).
  • The application server 106 generally comprises an assessment modeling engine 200, a menu design engine 202, and a menu planning engine 204. Any of the modeling engine 200, menu design engine 202, and menu planning engine 204 may be implemented as a processor.
  • The assessment modeling engine 200 receives as input data gathered from a plurality of sources and, using this input, builds models to assess menu attributes. In one embodiment, the types of data received by the assessment modeling engine 200 include recipes, expert opinions (e.g., from chefs), and management interviews. The models built by the assessment modeling engine 200 assess menu attributes such as novelty, variety, nutrition, and the like. The data from which the models are built may be retrieved, for example, from one or more of the databases 108. Some embodiments of methods for building models to assess menu attributes are discussed in greater detail below in connection with FIGS. 5-6.
  • The menu design engine 202 receives as input the models built by the assessment modeling engine 200 and user-specified criteria, and, using this input, designs a menu. In one embodiment, the user-specified criteria include required ingredients, desired flavor profiles/cuisines, and/or other attributes or constraints on the menu. The user-specified criteria may be obtained, for example, from one of the endpoint devices 102. The menu design engine 202 optimizes over the user-specified criteria and attempts to satisfy any constraints. Embodiments of methods for designing a menu are discussed in greater detail below in connection with EQNs. 1-5.
  • The menu planning engine 204 receives as input the menus created by the menu design engine 202 and, using this input, schedules the work plan for preparing the menu. One embodiment of a method for preparing a work plan is discussed in greater detail below in connection with FIGS. 7 and 8. The menu and/or work plan may be output by the menu planning engine 204, for example to one or more of the endpoint devices 102.
  • As discussed above, building the models to assess menu attributes relies on data gathering. The data gathering process may collect several different types of data, including recipes, expert opinions, interviews, and/or external datasets. The recipes may be retrieved from one or more of the databases 108, which serve as sources for potentially performing re-combinations and modifications of existing recipes, and also for measuring novelty of menus. The expert opinions may be provided by chefs and can be used to generate ideas for novel recipes and for performing other attribute assessment-related tasks. The interviews may be provided by managers and/or other sources in the food preparation industry and contain information relating to available resources in the menu preparation facility, to costs and revenues associated with ingredients and dishes, and other types of information. The expert opinions and interviews may be retrieved from one or more of the databases 108. The external datasets comprise data from external sources (e.g., databases other than the databases 108), which may be required depending on the desired attributes of the menu. Data from external datasets may include information relating to the nutritional content of ingredients, to the seasonality of ingredients, or other information.
  • At a high level, data gathering may involve clustering ingredients and recipes into groups of like items. Ingredients may be clustered according to various categoies, such as type of ingredient (e.g., fruit, spice, etc.) or type of cuisine (e.g., Jamaican, Hungarian, etc.). Each cluster will contain ingredients that fall into a stated category, and a given ingredient may be included in more than one cluster.
  • FIG. 3, for example, illustrates an exemplary set of clusters of ingredients. In particular, FIG. 3 depicts three distinct ingredients: bananas, quinces, and paprika. In turn, each of these ingredients is included in one or more of four potential clusters: “fruit,” “spices,” “Hungarian cuisine,” and “Jamaican cuisine.” For example, bananas are included in the clusters for both “fruit” and “Jamaican cuisine,” while quinces are included in the clusters for both “fruit” and “Hungarian cuisine.” Paprika is included in the clusters for both “spices” and “Hungarian cuisine.”
  • Similarly, recipes may be clustered according to various categories, such as type of dish (e.g., pasta, pizza, etc.) or type of cuisine (e.g., American, Italian, etc.). Each cluster will contain recipes that fall into a stated category, and a given recipe may be included in more than one cluster.
  • FIG. 4, for example, illustrates an exemplary set of clusters of recipes. In particular, FIG. 4 depicts three distinct recipes: “Mario's Pizza,” “Anna's Spaghetti Bolognese (Spag Bol),” and “My Mac and Cheese.” In turn, each of these recipes is included in one or more of four potential clusters: “pizza dishes,” “pasta dishes,” “Italian cuisine,” and “American cuisine.” For example, “Mario's Pizza” is included in the clusters for both “pizza dishes” and “Italian cuisine,” while “Anna's Spag Bol” is included in the clusters for both “pasta dishes” and “Italian cuisine.” “My Mac and Cheese” is included in the clusters for both “pasta dishes” and “American cuisine.”
  • FIGS. 3 and 4 depict only one embodiment of a suitable approach to organizing data. Once sufficient data has been gathered and optionally organized as illustrated in FIGS. 3 and 4, the assessment modeling engine 200 uses the gathered data to build assessment models for specified attributes. The assessment models quantify a measure of how well a given recipe and/or menu satisfies a given attribute. Different types of data will be useful for modeling different attributes. Moreover, different modeling techniques may be implemented depending on the attributes to be modeled. Table 1, for example, presents some exemplary menu attributes, along with some of the data and modeling techniques that are considered useful for building assessment models of the stated attributes.
  • TABLE 1
    Data and Modeling Techniques by Attribute
    Menu Attribute Useful Data Modeling Techniques
    Novelty Recipe database; Interviews with chefs Machine learning;
    Probabilistic analysis
    Taste External datasets relating to ingredient Chemical compound
    pairings; Interviews with chefs and olfactory analysis
    Variety Recipe database; Interviews with chefs Machine learning;
    Probabilistic analysis
    Healthy External datasets relating to nutrition Statistical analysis
    and dietetics
    Satisfies kitchen Internal information on kitchen Work orchestration
    constraints resources, facilities, and operations and planning
    Satisfies dietary External datasets relating to types of Constraint satisfaction
    restrictions restrictions
    Carbon footprint Internal information on supply; Statistical analysis
    External datasets relating to ingredient
    availability
    Personalization to External datasets relating to ingredient Chemical compound
    disparate tastes pairings; Interviews with chefs and olfactory analysis
    Profit Internal information on marketing Statistical analysis;
    conditions, kitchen resources, facilities Operations research
    and operations, cost data, and past
    economic data
  • As an example, suppose that one wants to measure the variety of a set of recipes. In one embodiment, variety may be modeled using graph edit distance. In this case, the recipes are represented as directed acyclic graphs.
  • FIG. 5, for example, depicts two exemplary recipes modeled as directed acyclic graphs. In each instance, the graph representation G of the recipe includes vertices V representing ingredients or steps, edges E representing relationships between the vertices, and labels L that identify the specific ingredient or step represented by each vertex.
  • Several graph editing operations may be defined, including one or more of the following: substituting a vertex label, deleting a vertex, inserting a vertex, deleting an edge, and inserting an edge. The graph edit distance d(G1, G2) is then defined between the labeled graphs G1 and G2 as the minimum number of edits needed to convert G1 into G2. In one embodiment, then, the variety of several graphs is defined as the variance of the pairwise edit distances among the graphs. Other measures of variety may include the standard deviation, mean, or entropy of the graphs, among other metrics.
  • Alternatively, variety may be modeled using probabilistic analysis (see, e.g., Table 1). One particular probabilistic analysis technique that may be used in this case is topic modeling. In this case, the recipes are considered as documents that can be modeled as probabilistic mixtures, where the ingredients are probabilistically selected from a potential list of “topics” (i.e., combinations of ingredients). Thus, each recipe is a distribution of topics, and the distance between recipes can be measured to generate a measure of variety.
  • FIG. 6, for example, depicts an exemplary recipe modeled as a Latent Dirichlet Allocation (LDA) topic model. In this instance, one assumes the existence of a corpus of M recipes or “documents.” Document M, illustrated in FIG. 6, contains N words. Those words include ingredients x and topics z, where the topics are sets or combinations of ingredients. For example, an exemplary topic might include the following ingredients: lemon juice, salt, cooking spray, green onions, sour cream, canola oil, Dijon mustard, radishes, pita, and black olives. The parameters α, β, and θ represent parameters of a machine learning model and describe the kinds of topics present in the database 108.
  • From the topic model, every recipe can be associated with a probability distribution over topics. A menu can then be evaluated for variety based on the distance between the probability distributions over topics for recipes included in the menu. Thus, the variety may be scored quantitatively as:

  • D(P T|R 1 , . . . ,P T|R K )  (EQN. 1)
  • Where PT is the topic distribution for an associated recipe R1, . . . , RK.
  • As discussed above, once the assessment models have been built, the menu design engine 202 may design a menu. In addition to the assessment models, the menu design engine 202 obtains as input one or more ingredients, one or more flavor profiles/cuisines, and/or one or more other attributes or constraints (e.g., on dietary compliance, cost, or ingredient availability).
  • In one embodiment, design of a menu may start with a number S of initially selected (e.g., user-specified) ingredients, and then extend the ingredient set to include one or more new (e.g., not user-specified) ingredients. For instance, the user may allow the system 100 to recommend further ingredients beyond the initially selected group of ingredients. In this case, additional ingredients may be recommended based on frequent pairings (i.e., where the additional ingredients are those that are observed by the system 100 to be most frequently paired with one or more of the initially selected ingredients) and/or on common chemical compounds (i.e., where the additional ingredients are those that are observed by the system to share the most or the least chemical compounds with the initially selected ingredients).
  • Once the set of ingredients has been optionally extended, the menu design engine 202 determines a dish superset (i.e., the set of potential dishes from which the menu may be chosen). In one embodiment, determining the dish superset comprises selecting all dishes that are both: (1) typical of the selected cuisines (e.g., pasta would be typical of Italian cuisine); and (2) contain at least one of the ingredients. In one embodiment, at least one ingredient in the set of initially selected ingredients is maintained in the menu.
  • Additionally, each dish in the dish superset can be substituted with one or more of: (1) a canonical recipe for that dish (e.g., the most highly rated pizza recipe); (2) all of the recipes for that dish, as long as they contain at least one of the initially selected ingredients; or (3) a recipe for the dish that contains at least one of the initially selected ingredients and is generated using a computational creativity algorithm. There are a variety of computational creativity algorithms that are suitable for use in this context. Substitute recipes may be obtained from the databases 108. The number of dishes contained in the final dish superset may be denoted as M.
  • Optimization is then employed to select specific dishes from the dish superset in order to generate a menu. In one embodiment, selection of specific dishes is formulated as an optimization model that optimizes a weighted linear function of scores for three attributes (e.g., novelty, taste, and variety), under constraints such as the availability of ingredients. In this optimization model, the following notation is employed:
  • i ε {1, . . . , M}: Index for a dish in the superset of dishes (e.g., quiche, pie, etc.)
    j ε {1, . . . , N}: Index for ingredient (e.g., chicken, saffron, etc.)
    k ε {1, . . . , K}: Index for ingredient category (e.g., vegetable, meat, etc.)
    s ε {1, . . . , s}: Index for initially selected ingredient
    xij ε {0,1}∀i, j: Whether ingredient j is in dish i
    yi ε {0,1}∀i: Whether dish i is included in the selected menu
    wjk ε {0,1}∀i, j: Whether ingredient j is of category type k
    Bj ε {0,1}∀j: Whether ingredient j is available
    Lik: Lower bound on number of ingredients of category type k in dish i
    Uik: Upper bound on number of ingredients of category type k in dish i
    D: Maximum number of dishes in menu
    Coj1: Number of chemical compounds shared by ingredients j and 1
    d(Gn): Graph edit distance between recipes for dishes i and 1
    Where xij and yi are decision variables, and wjk, Bj, Lik, and Uik are optional variables.
  • As discussed above, different attributes may be measured in different ways. For instance, the novelty of a menu is the sum of the novelty measures of each dish in the menu. The novelty of a dish can be computed, in one embodiment, by applying a metric such as Bayesian surprise to the ingredients of the dish. In this case, the novelty of the menu, NOV (y1, . . . , yM; x1, . . . , xN) may be computed as:
  • NOV ( y 1 , , y M ; x 1 , , x N ) = i = 1 M y i · f NOV ( x i 1 , , x iN ) ( EQN . 2 )
  • Where fNOV is the novelty score for a set of ingredients.
  • The taste of a menu (i.e., how “good” the taste is) can be computed by considering a known food pairing hypothesis that suggests that pairs of ingredients taste better when the component ingredients share more chemical compounds. In this case, the taste of the menu, TASTE (y1, . . . , yM; x1, . . . , xN) may be computed as:
  • TASTE ( y 1 , , y M ; x 1 , , x N ) = i = 1 M y i ( j < i x ij · x il Co jl ) ( EQN . 3 )
  • The variety of a menu can be computed by comparing the graph edit distances between pairs of recipes for dishes in the menu, or by using topic modeling, or by a combination of graph edit distance comparison and topic modeling. For instance, a graph edit distance-based measure may compute the variety of the menu, VAR (y1, . . . , yM; x1, . . . , xN), as:
  • VAR ( y 1 , , y M ) = j < i y i · y l · d ( G il ) ( EQN . 4 )
  • Where d(Gi1) is the distance between the graphs for recipes i and 1.
  • The objective function is thus the weighted linear function of the measures for the attributes being balanced. In the exemplary case (i.e., where the attributes being balanced are novelty, variety, and taste), the objective function is:
  • max x ij i , j ; y i i w 1 NOV ( y 1 1 , , y M ; x 1 , , x N ) + w 2 TASTE ( y 1 1 , , y M ; x 1 , , x N ) + w 3 VAR ( y 1 , , y M ) ]
  • Such that:
  • x ij { 0 , 1 } i , j y i { 0 , 1 } i max i x ij B j j ( Restriction on ingredient availability ) y i = 1 - j ( 1 - x ij ) i ( Dishes are in the menu when they contain at least one ingredient ) i y i D ( Restriction on the total number of dishes ) y i · L ik y i · j ( x ij · w jk ) y i · U ik i , k ( Restrictions on the number of ingredients in each category for the selected dishes ) i , s ( 1 - x is ) = 0 ( At least one of the initially selected ingredients should be in a dish in the menu ) ( EQN . 5 )
  • Once the menu has been designed (i.e., the dishes comprising the menu have been selected), the menu planning engine 204 creates a work plan for preparing the menu. As discussed above, the work plan is a schedule of tasks for joint preparation of the recipes for all dishes constituting the menu, based on available resources and facilities.
  • In one embodiment, the menu planning engine 204 takes as inputs directed acyclic graphs representing all of the recipes required to prepare the menu. The menu planning engine 204 produces as an output the work plan, while determining if the menu can be prepared within any given time constraints.
  • FIG. 7 is a diagram depicting conversion of an exemplary menu into an exemplary work plan, in which the recipes comprising the menu are represented as directed acyclic graphs. The directed acyclic graphs represent the menus as mathematical formalisms. In particular, the vertices of the graphs represent actions to be taken by different people or equipment (e.g., boil water, slice vegetables, bake potatoes, etc.). The edges connecting the vertices represent the sequences in which the actions are to be taken (e.g., the water should be boiled before the pasta is put in the water), and the edges are annotated with timing constraints that set limits on the maximum amount of time that may elapse between sequential actions (e.g., no more than eight minutes should elapse between putting the pasta in the boiling water and removing the pasta from the boiling water). Given such a graph for each recipe in the menu (illustrated on the left side of FIG. 7), and a list of available resources (e.g., people and/or equipment), the menu planning engine 204 produces a plan (illustrated on the right side of FIG. 7) for the individual resources to prepare the menu (and other summaries, such as the total time required). For instance, the plan may assign specific actions in the directed acyclic graphs to specific individuals who are available to prepare the menu (e.g., John will slice the vegetables). FIG. 8, for example, depicts an exemplary detailed work plan in which tasks are scheduled on a common timeline and allocated to specific individuals or equipment for completion.
  • FIG. 9 is a flow diagram illustrating the high level method 900 for planning a menu, according to embodiments of the present disclosure. The method 900 may be performed, for example, by the application server 106 illustrated in FIGS. 1 and 2 and described in detail above. However, it will be appreciated that the method 900 is not limited to implementation on the application server 106; in alternate embodiments, the method 900 may be performed by other devices or systems, including the endpoint devices 102 or a general purpose computing device that is configured as a special purpose computing device.
  • The method 900 begins in step 902. In step 904, the assessment modeling engine 200 gathers data from one or more sources. As discussed above, the gathered data may include one or more of the following types of data: recipes, chef expert opinions, or management interviews. Any one or more of these types of data may be obtained from one of the databases 108, or from an external database.
  • In step 906, the assessment modeling engine 200 builds one or more models in accordance with the data gathered in step 904. As discussed above, the models are build to help assess menu attributes, such as novelty, variety, nutrition, or the like. For instance, the assessment modeling engine 200 may use one or more of the modeling techniques listed in Table 1 (above) to build models using the gathered data.
  • In step 908, the menu design engine 202 obtains a plurality of inputs. As discussed above, the inputs obtained by the menu design engine 202 may include one or more of the following: one or more user-specified cuisines (e.g., Indian, holiday, etc.), one or more user-specified ingredients (e.g., chicken, eggs, etc.), one or more user-specified desired attributes (e.g., novelty, variety, etc.), or one or more user-specified constraints (e.g., no more than x calories, no gluten, etc.). In one embodiment, any one or more of the user-specified inputs may be provided using one or more of the endpoint devices 102.
  • In optional step 910 (illustrated in phantom), the menu design engine 202 extends the ingredient set. As discussed above, the ingredient set may be extended by adding new ingredients that pair well in the menu (but not necessarily in the same recipe) with user-specified ingredients obtained in step 908. In one embodiment, the menu design engine 202 consults a database of recipes (e.g., one of the databases 108) for information on pairing of ingredients. Alternatively or in addition, the menu design engine 202 may evaluate taste metrics (e.g., sharing of chemical compounds) for ingredient pairs.
  • In step 912, the menu design engine 202 determines a dish superset. As discussed above, the dish superset comprises a set of all potential dishes from which the menu may be selected. The dish superset may be constructed by performing standard database queries (e.g., to the databases 108) that identify all dishes in the database that correspond to user-specified cuisines and contain at least one of the ingredients in the (optionally extended) ingredient set.
  • In step 914, the menu design engine 202 determines the menu in accordance with the dish superset. That is, the menu design engine 202 selects one or more of the dishes in the dish superset for inclusion in the menu. In one embodiment, dishes are selected from the dish superset in accordance with an optimization technique that finds a set of dishes that “fit together” (e.g., based on a weighted function of user-specified attributes, subject to user-specified constraints). For instance, dishes may be selected from the dish superset by considering the optimization problem detailed in EQNs. 1-5, above.
  • In step 916, the menu planning engine 204 designs a work plan in accordance with the menu designed in step 914 and the available resources and facilities. That is, the menu planning engine 204 plans a detailed schedule of tasks to be performed, concurrently, by the available people and equipment in order to produce the menu within a specified period of time. As discussed above in connection with FIG. 7-8, designing the work plan may involve representing each recipe in the menu as a directed acyclic graph and then implanting bipartite matching in the individual stages of the recipes.
  • In step 918, the menu planning engine 204 outputs the work plan (e.g., to one or more of the endpoint devices 102). The method 900 then ends in step 920.
  • FIG. 10 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein. As depicted in FIG. 10, the system 1000 comprises a hardware processor element 1002 (e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor), a memory 1004, e.g., random access memory (RAM) and/or read only memory (ROM), a module 1005 for planning a menu and/or work plan, and various input/output devices 1006 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, an input port and a user input device (such as a keyboard, a keypad, a mouse, a microphone and the like)). Although only one processor element is shown, it should be noted that the general-purpose computer may employ a plurality of processor elements. Furthermore, although only one general-purpose computer is shown in the figure, if the method(s) as discussed above is implemented in a distributed manner for a particular illustrative example, i.e., the steps of the above method(s) or the entire method(s) are implemented across multiple general-purpose computers, then the general-purpose computer of this figure is intended to represent each of those multiple general-purpose computers.
  • It should be noted that the present disclosure can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents, e.g., computer readable instructions pertaining to the respective systems and/or methods discussed above can be used to configure a hardware processor to perform the steps functions and/or operations of the above disclosed systems and methods. In one embodiment, instructions and data for the present module or process 1005 for planning a menu and/or work plan (e.g., a software program comprising computer-executable instructions) can be loaded into memory 1004 and executed by hardware processor element 1002 to implement the steps, functions or operations as discussed above in connection with the exemplary systems 100 and 106 and/or method 900. The processor executing the computer readable or software instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor. As such, the present module 1005 for planning a menu and/or work plan (including associated data structures) of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like. More specifically, the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server. In addition, it should be noted that the hardware processor can be configured or programmed to cause other devices to perform one or more operations as discussed above. In other words, the hardware processor may serve the function of a central controller directing other devices to perform the one or more operations as discussed above.
  • Referring to FIG. 10, the present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
  • The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
  • Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
  • Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
  • Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
  • These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
  • The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
  • While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims (20)

What is claimed is:
1. A method for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe, the method comprising:
obtaining, by a processor, a user-specified ingredient that must be included in the menu;
obtaining, by the processor, a user-specified criterion that must be satisfied by the menu;
automatically formulating, by the processor, an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion; and
automatically selecting, by the processor, the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
2. The method of claim 1, wherein the user-specified criterion is a type of cuisine that must be included in the menu.
3. The method of claim 1, wherein the user-specified criterion is an attribute that must be maximized in the menu.
4. The method of claim 3, wherein the attribute is novelty of the menu.
5. The method of claim 3, wherein the attribute is variety of the menu.
6. The method of claim 1, wherein the plurality of potential dishes includes dishes that satisfy the user-specified criterion and contain the user-specified ingredient.
7. The method of claim 1, wherein the optimization problem comprises a weighted linear function of scores including a score for the user-specified criterion.
8. The method of claim 7, wherein the optimization problem additionally attempts to satisfy a constraint on the menu.
9. The method of claim 8, wherein the constraint is user-specified.
10. The method of claim 9, wherein the constraint relates to a nutritional requirement of the menu.
11. The method of claim 8, wherein the constraint is an availability of a resource required to prepare the menu.
12. The method of claim 7, wherein at least the score for the user-specified criterion is generated in accordance with an assessment model.
13. The method of claim 12, wherein the assessment model is built using data from a plurality of recipes.
14. The method of claim 12, wherein the assessment model is built using data from a plurality of expert opinions relating at least to the user-specified criterion.
15. The method of claim 12, wherein the assessment model is built using data from a plurality of interviews relating at least to resource and facility availability.
16. The method of claim 1, further comprising:
automatically designing, by the processor, a work plan, wherein the work plan specifies a schedule of tasks for preparation of the menu.
17. The method of claim 16, wherein the work plan accounts for resources and facilities available for use in the preparation of the menu.
18. The method of claim 1, wherein the work plan accounts for a time constraint on the preparation of the menu.
19. A device for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe, the device comprising:
a processor; and
a computer-readable medium storing instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising:
obtaining a user-specified ingredient that must be included in the menu;
obtaining a user-specified criterion that must be satisfied by the menu;
automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion; and
automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
20. A system for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe, the system comprising:
a database storing recipes for a plurality of potential dishes; and
an application server for automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed by automatically evaluating the plurality of dishes by optimizing over a user-specified criterion, wherein the plurality of dishes includes at least one dish that includes a user-specified ingredient.
US14/564,224 2013-12-09 2014-12-09 Analytics-based design and planning of creative menus Abandoned US20150161912A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/564,224 US20150161912A1 (en) 2013-12-09 2014-12-09 Analytics-based design and planning of creative menus
US14/747,325 US20150324938A1 (en) 2013-12-09 2015-06-23 Analytics-based design and planning of creative menus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361913703P 2013-12-09 2013-12-09
US14/564,224 US20150161912A1 (en) 2013-12-09 2014-12-09 Analytics-based design and planning of creative menus

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/747,325 Continuation US20150324938A1 (en) 2013-12-09 2015-06-23 Analytics-based design and planning of creative menus

Publications (1)

Publication Number Publication Date
US20150161912A1 true US20150161912A1 (en) 2015-06-11

Family

ID=53270073

Family Applications (10)

Application Number Title Priority Date Filing Date
US14/186,645 Expired - Fee Related US9600793B2 (en) 2013-12-09 2014-02-21 Active odor cancellation
US14/561,869 Active 2036-10-08 US10019689B2 (en) 2013-12-09 2014-12-05 Association-based product design
US14/565,136 Active 2036-11-30 US10936983B2 (en) 2013-12-09 2014-12-09 Optimized menu planning
US14/564,224 Abandoned US20150161912A1 (en) 2013-12-09 2014-12-09 Analytics-based design and planning of creative menus
US14/747,144 Active 2035-11-02 US10915846B2 (en) 2013-12-09 2015-06-23 Optimized menu planning
US14/747,198 Active 2036-01-26 US10026050B2 (en) 2013-12-09 2015-06-23 Association-based product design
US14/747,325 Abandoned US20150324938A1 (en) 2013-12-09 2015-06-23 Analytics-based design and planning of creative menus
US15/354,257 Abandoned US20170067866A1 (en) 2013-12-09 2016-11-17 Active odor cancellation
US15/976,352 Active US10127512B2 (en) 2013-12-09 2018-05-10 Association-based product design
US15/976,350 Active US10217072B2 (en) 2013-12-09 2018-05-10 Association-based product design

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US14/186,645 Expired - Fee Related US9600793B2 (en) 2013-12-09 2014-02-21 Active odor cancellation
US14/561,869 Active 2036-10-08 US10019689B2 (en) 2013-12-09 2014-12-05 Association-based product design
US14/565,136 Active 2036-11-30 US10936983B2 (en) 2013-12-09 2014-12-09 Optimized menu planning

Family Applications After (6)

Application Number Title Priority Date Filing Date
US14/747,144 Active 2035-11-02 US10915846B2 (en) 2013-12-09 2015-06-23 Optimized menu planning
US14/747,198 Active 2036-01-26 US10026050B2 (en) 2013-12-09 2015-06-23 Association-based product design
US14/747,325 Abandoned US20150324938A1 (en) 2013-12-09 2015-06-23 Analytics-based design and planning of creative menus
US15/354,257 Abandoned US20170067866A1 (en) 2013-12-09 2016-11-17 Active odor cancellation
US15/976,352 Active US10127512B2 (en) 2013-12-09 2018-05-10 Association-based product design
US15/976,350 Active US10217072B2 (en) 2013-12-09 2018-05-10 Association-based product design

Country Status (2)

Country Link
US (10) US9600793B2 (en)
WO (1) WO2015088978A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483547B1 (en) * 2014-05-30 2016-11-01 Yummly, Inc. Clustering and display of recipes
US20170139902A1 (en) * 2015-11-12 2017-05-18 International Business Machines Corporation Modifying Existing Recipes to Incorporate Additional or Replace Existing Ingredients
US20180075369A1 (en) * 2016-09-09 2018-03-15 International Business Machines Corporation Data-driven models for improving products
US20180114284A1 (en) * 2016-10-21 2018-04-26 International Business Machines Corporation Recipe suggestion based on customer feedback
CN109829111A (en) * 2019-01-30 2019-05-31 珠海优特智厨科技有限公司 The method and apparatus that the production of user's taste label and menu are recommended
US20190197564A1 (en) * 2017-12-22 2019-06-27 International Business Machines Corporation Product space representation mapping
US20190311445A1 (en) * 2018-04-05 2019-10-10 International Business Machines Corporation Generating a personalized menu for submitting a custom order
WO2021024829A1 (en) * 2019-08-08 2021-02-11 ソニー株式会社 Information processing device, information processing method, cooking robot, cooking method, and cookware
WO2021024830A1 (en) * 2019-08-08 2021-02-11 ソニー株式会社 Information processing device, information processing method, cooking robot, cooking method, and cooking instrument
US10949470B2 (en) * 2019-02-13 2021-03-16 International Business Machines Corporation Topic clustering to generate formulations
US11232259B1 (en) * 2020-11-30 2022-01-25 Kpn Innovations, Llc. Methods and systems for personal recipe generation
US11354607B2 (en) 2018-07-24 2022-06-07 International Business Machines Corporation Iterative cognitive assessment of generated work products
US11514495B2 (en) 2019-03-19 2022-11-29 International Business Machines Corporation Creating custom objects from a static list of objects and turning the custom objects into trends
CN115722138A (en) * 2022-09-22 2023-03-03 青岛宝恒机械技术有限公司 Automatic timing and quantifying control system and method for feed in breeding industry

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600793B2 (en) 2013-12-09 2017-03-21 International Business Machines Corporation Active odor cancellation
US10380615B2 (en) * 2015-08-27 2019-08-13 International Business Machines Corporation Product design based on user reviews
US10262302B2 (en) * 2015-10-27 2019-04-16 International Business Machines Corporation Recipe selection system with bidirectional calendar interface
US10255703B2 (en) * 2015-12-18 2019-04-09 Ebay Inc. Original image generation system
US10412985B2 (en) * 2016-09-29 2019-09-17 International Business Machines Corporation Identifying components based on observed olfactory characteristics
US10416138B2 (en) * 2016-09-29 2019-09-17 International Business Machines Corporation Sensing and adjusting the olfactory characteristics of a sample
US11183078B2 (en) * 2016-10-07 2021-11-23 Mixator AB Meal preparation orchestrator
US20180336640A1 (en) * 2017-05-22 2018-11-22 Insurance Zebra Inc. Rate analyzer models and user interfaces
CN107993703A (en) * 2017-12-05 2018-05-04 傅峰峰 A kind of vegetable based on heat provides method and a kind of computer-readable recording medium
JP6559839B1 (en) * 2018-05-22 2019-08-14 クックパッド株式会社 Device control system, server device, device control method, program, and recipe data structure
US20210221388A1 (en) * 2018-08-20 2021-07-22 Nissan Motor Co., Ltd. Vehicle management system, on-vehicle system, and vehicle management method
US11182815B1 (en) * 2018-08-21 2021-11-23 Sarath Chandar Krishnan Methods and apparatus for a dish rating and management system
US11636123B2 (en) * 2018-10-05 2023-04-25 Accenture Global Solutions Limited Density-based computation for information discovery in knowledge graphs
US11789991B2 (en) 2019-01-24 2023-10-17 Accenture Global Solutions Limited Compound discovery via information divergence with knowledge graphs
US11776667B2 (en) * 2019-09-24 2023-10-03 Bryan Research & Engineering Composition tracking of mixed species in chemical processes
US11693868B2 (en) * 2020-06-08 2023-07-04 Apriori Technologies, Inc. Insight generation based on retrieved PLM data
CN111772495B (en) * 2020-07-10 2022-04-15 宁波方太厨具有限公司 Method and system for updating recipe cooking parameters, electronic device and storage medium
US12050970B2 (en) * 2020-11-03 2024-07-30 Kpn Innovations, Llc. Method and system for selecting an alimentary provider
WO2023182197A1 (en) * 2022-03-24 2023-09-28 ソニーグループ株式会社 Information processing device, information processing method, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030225731A1 (en) * 2002-06-03 2003-12-04 Edward Vidgen System and method for optimized dietary menu planning
US20090234712A1 (en) * 1999-06-28 2009-09-17 Musicip Corporation Method and apparatus for automated selection, organization, and recommendation of items based on user preference topography
US20130224694A1 (en) * 2011-08-26 2013-08-29 Laura M. Moore Integrated System and Method for Meal Planning and Management

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5119307A (en) * 1989-12-22 1992-06-02 General Electric Company Method and system for automated bill-of-material generation
US5303846A (en) 1990-09-17 1994-04-19 Abcc/Techcorp. Method and apparatus for generating and dispensing flavoring syrup in a post mix system
US5311424A (en) * 1991-06-28 1994-05-10 International Business Machines Corporation Method and system for product configuration definition and tracking
US5630070A (en) * 1993-08-16 1997-05-13 International Business Machines Corporation Optimization of manufacturing resource planning
US5670475A (en) 1994-08-12 1997-09-23 The Procter & Gamble Company Composition for reducing malodor impression of inanimate surfaces
US5663134A (en) * 1994-08-12 1997-09-02 The Procter & Gamble Company Composition for reducing malodor impression on inanimate surfaces
US6216109B1 (en) * 1994-10-11 2001-04-10 Peoplesoft, Inc. Iterative repair optimization with particular application to scheduling for integrated capacity and inventory planning
US5960414A (en) * 1997-11-25 1999-09-28 Hewlett-Packard Company Method for monitoring excess inventory
US6003012A (en) * 1997-12-05 1999-12-14 Square D Company Methodology and computer-based tools for design, production and sales of customized switchboards
US6009406A (en) * 1997-12-05 1999-12-28 Square D Company Methodology and computer-based tools for re-engineering a custom-engineered product line
US6278978B1 (en) * 1998-04-07 2001-08-21 Blue Pumpkin Software, Inc. Agent scheduling system and method having improved post-processing step
US6253187B1 (en) * 1998-08-31 2001-06-26 Maxagrid International, Inc. Integrated inventory management system
US7209869B1 (en) * 1998-09-01 2007-04-24 Daimlerchrysler Ag Method and system for resource requirement planning and generating a production schedule using a uniform data model
US7122152B2 (en) 1999-05-10 2006-10-17 University Of Florida Spatiotemporal and geometric optimization of sensor arrays for detecting analytes fluids
US6850809B1 (en) * 1999-05-28 2005-02-01 Oracle International Corporation Methods, devices and systems for splitting an integrated manufacturing and distribution plan for use by separate manufacturing and distribution execution systems
FR2798757B1 (en) 1999-09-17 2002-07-05 Moulinex Sa CULINARY PREPARATION ASSISTANCE DEVICE
AU2001261127A1 (en) * 2000-05-02 2001-11-12 Assettrade Internet-based systems and methods for reallocating and selling used industrial equipment and machinery
US20020065764A1 (en) * 2000-05-05 2002-05-30 Brodersen Andrew N. Marketing and purchasing components and services
US7117163B1 (en) * 2000-06-15 2006-10-03 I2 Technologies Us, Inc. Product substitution search method
US20020046060A1 (en) 2000-08-04 2002-04-18 Fitness Venture Group System and method for generating a meal plan
US6733703B2 (en) * 2000-09-26 2004-05-11 Romain L. Billiet Method for controlling the dimensions of bodies made from sinterable materials
US7210624B1 (en) * 2000-10-26 2007-05-01 I2 Technologies Us, Inc. Redistribution of parts in a distribution network
JP2002183547A (en) * 2000-12-11 2002-06-28 Hitachi Ltd Transaction method for reused parts
US20020099589A1 (en) * 2001-01-23 2002-07-25 Rice Bronwyn C. Method for providing home-cooked ethnic dishes by native-trained chefs through a chef agency
US7058587B1 (en) * 2001-01-29 2006-06-06 Manugistics, Inc. System and method for allocating the supply of critical material components and manufacturing capacity
US7577577B2 (en) * 2001-01-31 2009-08-18 Dell Products L.P. Pull to customer order demand fulfillment system and method
CA2438552A1 (en) * 2001-02-16 2002-09-12 Gary F. Falkenstein Method, system, and software for inventory management
US20020138316A1 (en) * 2001-03-23 2002-09-26 Katz Steven Bruce Value chain intelligence system and methods
EP1244060A3 (en) 2001-03-23 2004-10-27 Honda Giken Kogyo Kabushiki Kaisha Computer-aided product design system
EP1389047B1 (en) 2001-04-30 2009-07-08 Pepsi/Lipton Tea Partnership Method for delivering fresh flavor in an on-premise beverage
US6574717B1 (en) * 2001-05-31 2003-06-03 Oracle Corporation Techniques for time-based retention of a reusable resource
US7085728B2 (en) * 2001-07-31 2006-08-01 Iex Corporation Method for forecasting and managing multimedia contracts
CA2364121A1 (en) * 2001-11-30 2003-05-30 Ibm Canada Limited-Ibm Canada Limitee Allocating inventory based on allocation priorities
US6826568B2 (en) * 2001-12-20 2004-11-30 Microsoft Corporation Methods and system for model matching
US6681990B2 (en) * 2002-05-31 2004-01-27 Sap Aktiengesellschaft Item tracking systems and real-time inventory management
US6843415B2 (en) * 2002-01-11 2005-01-18 Sap Atkiengesellschaft Event-based communication in a distributed item tracking system
JP3618720B2 (en) * 2002-02-20 2005-02-09 イーマニファクチャリング株式会社 Management method based on flow management in supply chain product management
US7567917B2 (en) 2002-03-14 2009-07-28 Kenneth Miller Product design methodology
US7664683B2 (en) * 2002-04-08 2010-02-16 Oracle International Corporation Computer implemented system for determining a distribution policy for a single period inventory system, optimization application therefor, and method therefor, and decision support tool for facilitating user determination of a distribution policy for a single period inventory system
US8190370B2 (en) * 2002-04-15 2012-05-29 Sap Aktiengesellschaft Change management of process flow descriptions
US7231361B2 (en) * 2002-04-29 2007-06-12 International Business Machines Corporation Method, system, and storage medium for utilizing excess and surplus inventory
US7373371B2 (en) * 2002-08-01 2008-05-13 International Business Machines Corporation Method, system, and storage medium for facilitating excess inventory utilization in a manufacturing environment
US6845909B2 (en) * 2002-10-31 2005-01-25 United Parcel Service Of America, Inc. Systems and methods of inventory management utilizing unattended facilities
US6866195B2 (en) * 2002-10-31 2005-03-15 United Parcel Service Of America, Inc. Systems and methods of inventory management utilizing unattended facilities
US20040122689A1 (en) * 2002-12-20 2004-06-24 Dailey Roger S. Method and apparatus for tracking a part
JP2004210460A (en) * 2002-12-27 2004-07-29 Honda Motor Co Ltd Delivery management system and delivery management method
US7222634B2 (en) 2003-01-17 2007-05-29 Daniel G. Hess Scent elimination system for hunters
WO2005010675A2 (en) * 2003-07-15 2005-02-03 Profitlogic, Inc. Methods and apparatus for inventory allocation and pricing
US20050048186A1 (en) 2003-08-27 2005-03-03 Unilever Bestfoods North America Usa Infusion system for enhanced flavor beverages
US20070111251A1 (en) 2003-09-02 2007-05-17 Rosania Gustavo R Chemical address tags
US7647255B2 (en) * 2004-01-23 2010-01-12 United Technologies Corporation Rotable inventory calculation method
US20050278271A1 (en) * 2004-05-14 2005-12-15 Anthony James T System and method for determining a product configuration
US7043321B2 (en) * 2004-05-27 2006-05-09 Palo Alto Research Center Incorporated Exception handling in manufacturing systems combining on-line planning and predetermined rules
US7778857B2 (en) * 2004-07-20 2010-08-17 Sap Aktiengesellschaft System and method for service parts planning in a multi-echelon network
US20060053122A1 (en) * 2004-09-09 2006-03-09 Korn Philip R Method for matching XML twigs using index structures and relational query processors
US20060111874A1 (en) * 2004-09-30 2006-05-25 Blazant, Inx. Method and system for filtering, organizing and presenting selected information technology information as a function of business dimensions
US7636727B2 (en) * 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US8615530B1 (en) * 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US20060206225A1 (en) * 2005-03-11 2006-09-14 Wright Anthony P Automatic data configuration strategy, such as for storing and manipulating product manufacturing data
US20060235555A1 (en) * 2005-03-11 2006-10-19 Seong Brian H File configuration strategy, such as for storing and manipulating parts and product definitions used in product manufacturing
US20070100881A1 (en) * 2005-10-24 2007-05-03 International Business Machines Corporation Method, system and storage medium for identifying and allocating surplus inventory
US20070185786A1 (en) * 2006-02-06 2007-08-09 International Business Machines Corporation Systems and methods for inventory allocation in mobile logistics networks
US8924269B2 (en) * 2006-05-13 2014-12-30 Sap Ag Consistent set of interfaces derived from a business object model
US20070282618A1 (en) * 2006-05-31 2007-12-06 International Business Machines Corporation Method and system for scheduling delivery of at least one of goods and services
SG139587A1 (en) 2006-07-28 2008-02-29 Givaudan Sa Method of using organic compounds
DE102007007627A1 (en) 2006-09-15 2008-03-27 Rwth Aachen Method for embedding steganographic information into signal information of signal encoder, involves providing data information, particularly voice information, selecting steganographic information, and generating code word
US7755494B2 (en) 2007-06-08 2010-07-13 University Of Florida Research Foundation, Inc. Hand washing compliance detection system
US7788070B2 (en) 2007-07-30 2010-08-31 Caterpillar Inc. Product design optimization method and system
US20090037288A1 (en) * 2007-08-03 2009-02-05 Christensen Michael J Recipe management and execution systems and methods
US20090164285A1 (en) * 2007-12-20 2009-06-25 International Business Machines Corporation Auto-cascading clear to build engine for multiple enterprise order level parts management
US20100248390A1 (en) 2009-03-02 2010-09-30 Duke University Compositions and methods for identifying ligands of odorant receptors
US8200548B2 (en) * 2009-08-31 2012-06-12 Peter Wiedl Recipe engine system and method
US20120136864A1 (en) * 2010-11-30 2012-05-31 Robert Thomas Ochtel Aggregation of Recipe Information, Meal Planning and Preparation
US8655476B2 (en) * 2011-03-09 2014-02-18 GM Global Technology Operations LLC Systems and methods for computationally developing manufacturable and durable cast components
US9165320B1 (en) * 2011-06-10 2015-10-20 Amazon Technologies, Inc. Automatic item selection and ordering based on recipe
WO2013035070A1 (en) * 2011-09-07 2013-03-14 Yeda Research And Development Co. Ltd. Olfactory signature and odorant mixture having the same
JP5988056B2 (en) * 2011-11-18 2016-09-07 パナソニックIpマネジメント株式会社 Recipe presentation system and recipe presentation method
US20130149679A1 (en) * 2011-12-12 2013-06-13 Yukie J. Tokuda System and methods for virtual cooking with recipe optimization
DE202012013642U1 (en) * 2011-12-16 2018-11-13 Illinois Tool Works Inc. Tagging assets for content distribution in an enterprise management system
WO2014002512A1 (en) * 2012-06-27 2014-01-03 楽天株式会社 Information processing device, information processing method, and information processing program
US9536237B2 (en) * 2012-11-28 2017-01-03 Wal-Mart Stores, Inc. Recipe suggestion apparatus and method
US20140188566A1 (en) 2012-12-27 2014-07-03 International Business Machines Corporation Automated generation of new work products and work plans
WO2014143729A1 (en) * 2013-03-15 2014-09-18 Affinnova, Inc. Method and apparatus for interactive evolutionary optimization of concepts
US9417221B2 (en) 2013-08-27 2016-08-16 International Business Machines Corporation Food steganography
US9600793B2 (en) 2013-12-09 2017-03-21 International Business Machines Corporation Active odor cancellation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090234712A1 (en) * 1999-06-28 2009-09-17 Musicip Corporation Method and apparatus for automated selection, organization, and recommendation of items based on user preference topography
US20030225731A1 (en) * 2002-06-03 2003-12-04 Edward Vidgen System and method for optimized dietary menu planning
US20130224694A1 (en) * 2011-08-26 2013-08-29 Laura M. Moore Integrated System and Method for Meal Planning and Management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Vaidehi Venkatesan, "Cuisines as Complex Networks", 10/13/2011, Graduate School of the University of Cincinnati, pages. 1 - 135 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483547B1 (en) * 2014-05-30 2016-11-01 Yummly, Inc. Clustering and display of recipes
US20170139902A1 (en) * 2015-11-12 2017-05-18 International Business Machines Corporation Modifying Existing Recipes to Incorporate Additional or Replace Existing Ingredients
US9870550B2 (en) * 2015-11-12 2018-01-16 International Business Machines Corporation Modifying existing recipes to incorporate additional or replace existing ingredients
US10817799B2 (en) * 2016-09-09 2020-10-27 International Business Machines Corporation Data-driven models for improving products
US20180075369A1 (en) * 2016-09-09 2018-03-15 International Business Machines Corporation Data-driven models for improving products
US20180114284A1 (en) * 2016-10-21 2018-04-26 International Business Machines Corporation Recipe suggestion based on customer feedback
US20190197564A1 (en) * 2017-12-22 2019-06-27 International Business Machines Corporation Product space representation mapping
US20190311445A1 (en) * 2018-04-05 2019-10-10 International Business Machines Corporation Generating a personalized menu for submitting a custom order
US11393052B2 (en) * 2018-04-05 2022-07-19 International Business Machines Corporation Generating a personalized menu for submitting a custom order
US11354607B2 (en) 2018-07-24 2022-06-07 International Business Machines Corporation Iterative cognitive assessment of generated work products
CN109829111A (en) * 2019-01-30 2019-05-31 珠海优特智厨科技有限公司 The method and apparatus that the production of user's taste label and menu are recommended
US10949470B2 (en) * 2019-02-13 2021-03-16 International Business Machines Corporation Topic clustering to generate formulations
US11514495B2 (en) 2019-03-19 2022-11-29 International Business Machines Corporation Creating custom objects from a static list of objects and turning the custom objects into trends
WO2021024829A1 (en) * 2019-08-08 2021-02-11 ソニー株式会社 Information processing device, information processing method, cooking robot, cooking method, and cookware
WO2021024830A1 (en) * 2019-08-08 2021-02-11 ソニー株式会社 Information processing device, information processing method, cooking robot, cooking method, and cooking instrument
US11232259B1 (en) * 2020-11-30 2022-01-25 Kpn Innovations, Llc. Methods and systems for personal recipe generation
CN115722138A (en) * 2022-09-22 2023-03-03 青岛宝恒机械技术有限公司 Automatic timing and quantifying control system and method for feed in breeding industry

Also Published As

Publication number Publication date
US20150324711A1 (en) 2015-11-12
US10915846B2 (en) 2021-02-09
US10019689B2 (en) 2018-07-10
US20150161531A1 (en) 2015-06-11
US20150161748A1 (en) 2015-06-11
WO2015088978A1 (en) 2015-06-18
US20180260751A1 (en) 2018-09-13
US20180260750A1 (en) 2018-09-13
US20170067866A1 (en) 2017-03-09
US20150157752A1 (en) 2015-06-11
US20150324938A1 (en) 2015-11-12
US9600793B2 (en) 2017-03-21
US10026050B2 (en) 2018-07-17
US10217072B2 (en) 2019-02-26
US10936983B2 (en) 2021-03-02
US20150371164A1 (en) 2015-12-24
US10127512B2 (en) 2018-11-13

Similar Documents

Publication Publication Date Title
US20150324938A1 (en) Analytics-based design and planning of creative menus
US20190050477A1 (en) Iterative image search algorithm informed by continuous human-machine input feedback
US9286589B2 (en) Method and system for customizing a project
US9639805B1 (en) Inferring temporal attributes of a recipe
Gibson et al. Make good choices, kid: biopolitics of children's bodies and school lunch reform in Jamie Oliver's Food Revolution
Halkier et al. Doing ‘healthier’food in everyday life? A qualitative study of how Pakistani Danes handle nutritional communication
Varshney et al. A big data approach to computational creativity: The curious case of Chef Watson
US20150058065A1 (en) Generating work plans using substitute constituents
AU2017232140A1 (en) System and method for providing flavor advisement and enhancement
US20180033074A1 (en) System, method, and recording medium for recipe and shopping list recommendation
Blanchet et al. Dietary acculturation among black immigrant families living in Ottawa—a qualitative study
Cross et al. The impact of diversity on institutional longevity
Said et al. You are What You Eat! Tracking Health Through Recipe Interactions.
CN109377416A (en) Generation method, device and the equipment of menu information
Hoolohan et al. COVID-19 and socio-materially bounded experimentation in food practices: insights from seven countries
Jabeen et al. EvoChef: show me what to cook! Artificial evolution of culinary arts
US20210150543A1 (en) Taste profile system
Noever et al. The multimodal and modular ai chef: Complex recipe generation from imagery
Kocaman et al. Exploring users interested in 3D food printing and their attitudes: case of the employees of a kitchen appliance company
de Morais Sato et al. Eating practices among low‐income overweight/obese Brazilian mothers: A Bourdieusian approach
US9766618B2 (en) Generating work product plans specifying proportions of constituents to be used in forming a work product
US20220012800A1 (en) System and method for ordering food
Kulturel-Konak et al. Menu engineering for continuing care senior living facilities with captive dining patrons
Değerli et al. Cooking with ChatGPT and Bard: A Study on Competencies of AI Tools on Recipe Correction, Adaption, Time Management and Presentation
Zitouni et al. Personalized Menu: a New Contextual Collaborative Recommender System

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BHATTACHARJYA, DEBARUN;PINEL, FLORIAN;VARSHNEY, LAV R.;SIGNING DATES FROM 20150113 TO 20150119;REEL/FRAME:035036/0636

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION