Method for controlling a household appliance

A data-driven control engine with machine learning optimizes household appliance operations based on user and environmental inputs, enhancing treatment outcomes and sustainability.

DE102024208531A1Pending Publication Date: 2026-03-12HENKEL KGAA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

Household appliances often operate with preset programs that do not account for individual user needs or environmental conditions, leading to suboptimal treatment outcomes and inefficiencies.

Method used

A data-driven approach using a control engine with machine learning models to optimize control parameters based on input data from various sources, including user inputs and environmental conditions, to generate customized control instructions for each treatment process.

Benefits of technology

This method allows for precise and dynamic control of household appliances, improving treatment outcomes and sustainability by adapting to specific user and environmental factors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

According to various embodiments, a method for controlling a household appliance is described, comprising receiving input parameter values ​​that define constraints for controlling the household appliance, determining a set of control parameter values ​​according to an optimization algorithm whose solution space is a solution space of sets of control parameter values ​​and whose fitness function evaluates, at least for some of the constraints, whether and / or how well the constraints are met by a respective set of control parameter values, generating program code executable by a control device of the household appliance based on the determined set of control parameter values, and controlling the household appliance by executing the executable program code through the control device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The invention relates to methods for controlling a household appliance.

[0002] Household appliances such as washing machines, dishwashers, dryers, and irons typically have several preset programs. The user can select the most suitable program to clean, dry, or iron the items. Despite the increasing number of available programs or preset settings, users are either given fixed parameter values ​​based on the manufacturer's assumptions about the outcome of the cleaning process, or they must adjust all parameters individually without the necessary technical knowledge to understand whether their selection is correct.

[0003] A treatment process, such as a cleaning process in a washing machine or dishwasher, can be parameterized by very complex combinations of parameters, e.g., temperature, duration of the treatment process (e.g., cleaning process), amount of detergent dispensed, etc. All these parameters, as well as others that are not necessarily controllable, such as water hardness, influence each other in the sense that changing one of these parameters can affect the effect of the other parameters on the result of a treatment process.

[0004] To allow the user to achieve a treatment performance goal, such as maximum cleanliness or the most environmentally friendly treatment process (with an acceptable level of cleanliness), special pre-stored programs are typically saved in the appliance's memory. These programs operate according to static standard configurations for the appliance's control parameters, which often do not meet the user's specific needs.

[0005] Therefore, approaches are desirable that make it possible to control household appliances in such a way that, compared to treatment processes controlled according to usual static control approaches, the respective treatment process (e.g. the cleaning and care (i.e. drying, ironing) of laundry) is improved and more sustainable.

[0006] According to various embodiments, a method for controlling a household appliance is provided, comprising receiving input parameter values ​​that define constraints for controlling the household appliance, determining a set of control parameter values ​​according to an optimization algorithm whose solution space is a solution space of sets of control parameter values ​​and whose fitness function evaluates, at least for some of the constraints, whether and / or how well the constraints are met by a respective set of control parameter values, generating program code executable by a control device of the household appliance based on the determined set of control parameter values, and controlling the household appliance by executing the executable program code through the control device.

[0007] Exemplary embodiments of the invention are shown in the figures and are explained in more detail below. Fig. Figure 1 illustrates the control of a washing machine using a control engine. Fig. Figure 2 illustrates the generation of control parameter values ​​using an optimization algorithm. Fig. Figure 3 shows a flowchart illustrating a method for controlling a household appliance according to one embodiment.

[0008] The following detailed description refers to the accompanying drawings, which form part thereof and illustrate specific embodiments in which the invention can be implemented. In this context, directional terminology such as "top," "bottom," "front," "back," "anterior," "rear," etc., is used with reference to the orientation of the described figure(s). Since components of embodiments can be positioned in a number of different orientations, the directional terminology serves only for illustration and is in no way limiting. It is understood that other embodiments may be used and structural or logical modifications may be made without deviating from the scope of protection of the present invention.It is understood that the features of the various exemplary embodiments described herein can be combined with one another, unless specifically stated otherwise. The following detailed description is therefore not to be interpreted in a limiting sense, and the scope of protection of the present invention is defined by the appended claims.

[0009] Within the scope of this description, the terms "connected," "attached," and "coupled" are used to describe both direct and indirect connections, direct or indirect links, and direct or indirect couplings. In the figures, identical or similar elements are labeled with identical reference symbols where appropriate.

[0010] According to various embodiments, a method for controlling a household appliance is provided, in particular a method by which the household appliance is individually controlled for specific values ​​of input parameters, the environmental conditions and a (e.g. user-desired) treatment performance target of the treatment process carried out by the household appliance.

[0011] Examples of household appliances to which embodiments of the method can be applied include washing machines, dishwashers, irons, and dryers. The term "treatment process" accordingly refers, for example, to the washing, cleaning, drying, or ironing of items (especially laundry and dishes) that are to be treated by the household appliance. However, the term "household appliance" should not be limited to these devices.

[0012] The term "treatment performance goal" encompasses one or more goals that a user can set or that can be programmed or programmable in a memory of the household appliance and that are to be achieved during or by the treatment process.

[0013] A treatment outcome goal, for example, includes one or more of the following objectives: • Maximum cleanliness of the items to be cleaned (dishes or textiles), • minimal number of stains or dirt on the items to be cleaned, • minimal amount of electricity or water consumed during the treatment process, • minimal noise generated by the household appliance during the treatment process, • minimal CO2 emissions generated during the treatment process.

[0014] A treatment outcome goal (or one of its components in a combined treatment outcome goal) can generally be expressed in any unit that indicates the extent to which a goal has been achieved. For comparison with the treatment goal, a corresponding treatment outcome value is determined for a given treatment. For cleanliness, this could be a specific number or grade.

[0015] The following section provides detailed explanations of implementation examples. These examples are based on a washing machine, but as mentioned above, they can also be applied to other household appliances (and, accordingly, other types of treatment processes).

[0016] According to various embodiments, a data-driven approach automates the laundry washing process based on the digitization of environmental conditions (water hardness, degree of soiling, etc.) and the treatment performance target. This allows for precise consideration of the laundry's needs as well as those of the user. The data-driven approach, implemented by a control engine operating according to a data model, provides customized control for specific environmental conditions and a particular treatment performance target. Furthermore, the control can be dynamic, meaning that changes in input parameters (environmental conditions and treatment performance target) can be taken into account. This data-driven approach virtually eliminates the need for fixed processes and routines.

[0017] Fig. Figure 1 illustrates the control of a washing machine 101 using a control engine 102.

[0018] The control engine 102 receives input parameter values ​​that define environmental conditions and / or a treatment performance target for the respective treatment (here, washing laundry) and thus one or more constraints for the treatment process (here, the wash cycle). The term constraint is understood here to encompass both "hard" constraints (i.e., limitations such as a maximum water temperature or unchangeable factors such as water hardness) and "soft" constraints (such as the lowest possible energy consumption, i.e., a treatment performance target).

[0019] The control engine 102 takes into account the relationships between environmental conditions and / or treatment performance goals (e.g., if the laundry is dirtier, the treatment goal "clean laundry" is more difficult to achieve). It does this, for example, by means of a machine learning model (e.g., a neural network or ensemble model) with which it can make predictions (such as the degree of cleanliness that will be achieved for laundry with a given degree of soiling at a specific temperature, washing duration, and detergent usage). The output of the control engine 102 is a programming instruction 112 for a control device (controller) 110 of the washing machine 101.

[0020] The input parameter values ​​(i.e., the input data containing values ​​for various input parameters) can come from the following sources: • Manual user interface (buttons etc.) 103 for manual user input; • Machine sensors 104 (e.g., from a weight sensor or contamination level sensor); • Interface (IF) 105 to digital wardrobe or digital laundry basket (providing information about the laundry they contain, e.g. the recommended water temperature for a garment); • Interface 106 for information about the environment (e.g. network interface to obtain information about the water hardness at the respective location); • Additional interfaces and sensors 107 for obtaining information about the laundry items (such as NFC (Near Field Communication) for reading an RFID (Radio Frequency Identification) chip of a laundry item or (visual) sensor for recognizing a laundry item); • Audiovisual interface 108 for user input, e.g. a microphone; • Other APIs (Application Programming Interface) 111, e.g. to other devices such as a smartphone, a voice-controlled assistant, an AI (Artificial Intelligence) tool (e.g. a Large Language Model (LLM)) or other household appliances; • Feedback from a feedback engine 109 regarding previous wash cycles (feedback can also be seen as information about environmental conditions, as it provides, for example, a relationship between control and result; such a relationship (which depends on the environment, especially properties of the washing machine) can also be seen as a condition that must be taken into account in the control).

[0021] Accordingly, the input data can include the following data: • Data supplied by the washing machine 101 (e.g. weight from the weight sensor, i.e. load, soiling, stains (determined via cameras or infrared spectroscopy), laundry type, presence of pet hair, data from an odor sensor or gas sensor that can detect laundry odor e.g. sweat or “mustiness”); • Textile data (e.g. from a visually recorded label or from an NFC / RFID label), such as maximum water temperature; • User information (e.g. degree of soiling, whether stains are present, preferences (time limit), restrictions (e.g. maximum water temperature), water hardness, laundry type, presence of pet hair, electricity costs, water costs); • External data (e.g. weather, wind, temperature, presence of a photovoltaic system and / or solar water heating, water hardness, pollen count, electricity costs, water costs); • Audio / video data (e.g. images, voice instructions); • Feedback (e.g. from previous runs); • Specification of the treatment performance target, e.g. regarding total time, energy consumption, water consumption, stain removal.

[0022] The input data can be generated at any time, stored at any time and processed by the control engine 102.

[0023] The control engine 102 can be hosted on a cloud server or implemented locally in the respective washing machine 101. Such local hosting enables low latency and thus accelerates the programming of the washing machine 101. For example, the control engine is implemented in a separate area of ​​the controller 110, perhaps in combination with a crypto chip or a Trusted Platform Module (TPM), with the aim of ensuring license protection for the control engine 102 (especially the data model) and / or preventing unauthorized access to the data model.

[0024] As mentioned above, the control engine 102 considers relationships between the input data (environmental conditions and / or treatment performance targets) when generating the programming instruction 112 for the controller 110. It can determine these relationships from a data model and, specifically, from predictions provided by a machine learning model. The latter is trained, for example, using training data obtained from experiments. After training, it describes (mathematically) the interaction of the input parameters (or at least some of them) with specific control parameters that characterize a washing or rinsing process, with respect to the results obtained when a treatment process is carried out according to certain control parameter values ​​under the conditions given by the input parameter values. In the case of a washing process, the control parameters could be the following: • Amounts of detergent or detergent components; • Dosing times for the amounts of detergent or detergent components; • Program (step) runtimes; • Fleet ratio; • Temperatures; • Stain removal program (yes / no); • Specified degree of soiling (which can be set on the washing machine, for example); • Spin speeds main wash; • Filming times main wash; • Break times for main wash; • PH value; • Load quantity (if the washing machine 101 can influence this (e.g. through information from the user), otherwise it is an input parameter value); • Number of wash cycles; • water hardness to be taken into account; • Laundry composition to be considered (e.g., proportion of synthetics); • Gentle on laundry; • Sanitization.

[0025] Based on the input data (and – if it uses a machine learning model – the training data for that model), the control engine 102 creates a programming instruction 112 for the controller 110 to execute a washing process (or, more generally, a treatment process). This programming instruction 112 applies specifically to the particular washing process (to which the input data belongs); that is, the controller 110 operates according to the programming instruction 112 only for this specific washing process. Therefore, the programming instruction 112 is used only once, and for each subsequent washing process, the control engine 102 generates a new (again, unique) programming instruction 112.

[0026] The programming instruction 112 is given by control parameter values ​​that the control engine 102 determines from the input data. To do this, it considers the relationships between the control parameters and results (under the constraints imposed by the control parameters) in order to select the control parameters such that the results fulfill the constraints specified by the input data, such as a specific treatment outcome target. These relationships are provided, at least in part, by the machine learning model.

[0027] Controller 110 controls the washing machine by executing executable program code (e.g., machine code, i.e., binary code, but possibly also interpretable code that runs on a virtual machine) specified by programming instruction 112. In other words, it is programmed according to programming instruction 112 and then operates according to that programming. Programming instruction 112 can itself be the executable program code (in which the control parameter values ​​are entered or which is structured according to the control parameter values), or it can, for example, contain the control parameter values ​​(e.g., in the form of a (readable) JSON file or a HEX file) that are entered into source code, which is then compiled to generate the executable program code.This entry of the control parameter values ​​and the translation can take place in the controller 110, but also in another unit (internally in the washing machine 110, but possibly also externally to the washing machine 110).

[0028] Regardless of whether the programming instruction 112 is already the finished executable program code or whether it is generated from it, the controller 110 operates according to the control parameter values ​​determined by the control engine 102 for the washing cycle and controls the washing process accordingly. After the washing process has finished, feedback 109, i.e., an evaluation of the washing process, can be provided via the feedback engine 109 (this could be, for example, an app).

[0029] This evaluation can be simple ("thumbs up, thumbs down") or arbitrarily complex. As mentioned above, feedback 109 can be used as part of the input data for the control engine; for example, it is saved and used as input data for similar washing processes. This means the feedback doesn't necessarily have to be used for the next washing process if it doesn't fit due to its requirements profile (e.g., white laundry has a different profile than wool laundry).

[0030] After the controller 110 has been programmed according to programming instruction 112, the user can actively start the washing process, or it can start automatically. During the execution of the executable program code specified by programming instruction 112, the washing machine 110 collects information about the washing process (e.g., in the form of sensor data) and sends it back to the control engine 102. This engine checks the information and assesses whether an adjustment to the washing process is necessary. If necessary, it modifies the washing process by issuing another, one-time, and potentially partial programming instruction 112 (making the control of the washing process dynamic, i.e., it adapts dynamically to environmental conditions). An example of such information (which can be seen as input data that changes or is only available after the washing process has started) is the water absorption capacity of the laundry.

[0031] In one embodiment, the control sequence can be designed such that a first upstream process takes place in the washing machine before the transmission of the programming instruction 112. This upstream process is necessary for generating the programming instruction 112 (because certain input data are only available after this process). Examples include determining the laundry weight using weighing or motor current measurement, or checking the drum contents for the presence of specific colors, e.g., with a camera.

[0032] According to various embodiments, the control engine 102 determines the control parameter values, according to which it generates the programming instruction 112, from the input data (i.e., from the input data values) by means of a genetic algorithm. This will be discussed below with reference to Fig. 2 explained.

[0033] Fig. Figure 2 illustrates the generation of control parameter values ​​201 using an optimization algorithm 202, in the present example a genetic algorithm 202, e.g. NSGA-II (Non-Dominated Sorting Genetic Algorithm).

[0034] Other examples of the optimization algorithm 202 are 1. Evolutionary Strategies (ES) as a subgroup of Evolutionary Algorithms, which also includes genetic algorithms. 2. Particle swarm optimization (PSO), as used, for example, in statistical experimental design for the optimal distribution of experiments. 3. Simulated annealing, derived from the tendency of a cooling system to reach a state with the lowest possible energy.

[0035] The optimization algorithm 202 determines a solution in a solution space 203. In the present example of a genetic algorithm, the solution space 203 is a "population" 203.

[0036] A genetic algorithm is an optimization procedure that (inspired by natural selection) replicates the evolutionary process by refining the population of potential solutions to a problem over several “generations” (i.e., iterations).

[0037] In the following case, population 203 is a set of sets of control parameter values, where each set of control parameter values ​​contains all the control parameter values ​​required to generate programming instruction 112. The goal is to find an optimal set of control parameter values ​​to solve the problem of optimally controlling washing machine 101.

[0038] For example, the optimization algorithm 202 (in the case that it is a genetic algorithm) has the following steps: • Initialization of population 203 (in this case, for example, with different sets of default values ​​for the control parameter values). Each solution (i.e., each set of control parameter values) is represented as a chromosome consisting of a set of genes that encode different aspects of the solution. • Selection of a subset of population 203 to serve as parents for the next generation, based on the fitness (i.e., “suitability”) of each solution (i.e., each set of control parameter values) determined by a fitness function. In this case, the fitness function is derived from the constraints 204, which are determined by the input data (i.e., the input parameter values). Specifically, the fitness function assesses how well the treatment performance target is met by the respective set of control parameter values ​​and whether hard (must-fulfill) constraints (such as maximum water temperature) are satisfied by the respective set of control parameter values.To predict results that are used to determine whether and / or how well constraints are met, the control engine 102, as explained above, uses, for example, a machine learning model (prediction model) 205, which receives at least some of the control parameter values ​​as input data, and provides predictions 208. The parents are then combined through a process called crossover, in which portions of their chromosomes are exchanged to produce new offspring. Next, mutation occurs, in which random changes are made to the offspring's chromosomes to introduce new genetic material and prevent the algorithm from becoming stuck at a local optimum. The fitness of the offspring is assessed using the fitness function, and the best solutions are selected to form the next generation of population 203. • This process continues (iteratively) until a termination criterion is met, e.g. reaching a certain fitness threshold or a maximum number of iterations, or the expiration of time.

[0039] The optimization algorithm 202, for example the genetic algorithm, ultimately provides the (optimized) control parameter values ​​201 (i.e., an optimized set of control parameter values) which, as explained above, are inserted, for example, into a program template (i.e., source code) 206 to generate executable program code 207, which the controller 110 executes to control the washing machine 101. As mentioned above, the generation of the executable program code 207 from the program template 206 can be carried out by the control engine 102 or by another unit (in particular, within the washing machine 101 itself, e.g., by the controller 110 itself).

[0040] The controller 110 has one or more processors and a working memory for storing the executable program code for executing the generated executable program code and has interfaces to actuators of the washing machine 101 (generally the household appliance) in order to supply them with control signals which it generates according to instructions of the executable program code.

[0041] In summary, a method is provided according to various embodiments, as described in Fig. 3 is shown.

[0042] Fig. Figure 3 shows a flowchart 300, which represents a method for controlling a household appliance according to one embodiment.

[0043] In 301, input parameter values ​​are received that define the constraints for controlling the household appliance.

[0044] In Figure 302, a set of control parameter values ​​is determined (through optimization) according to an optimization algorithm (e.g., a genetic algorithm) whose solution space (e.g., population) is a solution space of sets of control parameter values, and whose fitness function evaluates, at least for some (but possibly all) of the constraints, whether and / or how well the constraints are met by a given set of control parameter values ​​(e.g., whether constraints to be fulfilled, such as a maximum water temperature or a treatment performance target, are met, or whether fixed constraints, such as a given water hardness, are met). The fitness function can also refer only to those constraints that can be fulfilled and then evaluates whether and / or how well the constraints to be met are met by the given set of control parameter values ​​(i.e., whether the constraints are met).The constraints are the conditions that must be met. In addition to the conditions that must be met, the constraints may also include environmental conditions (which cannot be changed by the control parameters, e.g., water hardness or electricity price).

[0045] In 303, program code that can be executed by a control device of the household appliance is generated on the basis of the determined set of control parameter values.

[0046] In 304, the household appliance is controlled by the control device through the execution of the executable program code.

[0047] In other words, according to various embodiments, an individual (and in particular, for example, only valid once or only existing and used once control program (and correspondingly, for example, washing program)) is generated using a data model that relies on (external and / or internal) input data and may also take into account process data dynamically recorded during the respective treatment process.

[0048] According to various embodiments, a method is provided for creating a personalized (e.g., cleaning) program for a specific combination of cleaning parameter values. This is done on the basis of a data model. The treatment process, i.e., the cleaning of the items to be washed, then takes place based on this cleaning program, which was specifically generated based on the combination of cleaning parameter values ​​that occur during this specific cleaning task (or were determined by the user).

[0049] The program is not pre-recorded, but rather created (individually) immediately before the start of the (e.g., cleaning) process. The programming can be dynamically modified during the cleaning process (for example, depending on sensor data from measurements of stains, dirt, or foam) or changes in user input.

[0050] According to further embodiments, a system is provided for recording all parameters required for carrying out the procedure described above.

[0051] The data model provides, for example, relationships between control parameter values ​​and treatment outcomes. It can be a machine learning model, but this is not necessary. It can be created through (numerous) tests with different control parameter combinations and represents, for example, a mapping of control parameter values ​​to treatment outcome values ​​(under respective environmental conditions). These data points (pairs of one or more control parameter values ​​and one or more treatment outcome values) can be numerically interpolated, for example, to train a machine learning model that represents this mapping.

[0052] The executable program code can be adapted during the treatment process based on sensor data that provides information about the treatment. Adapting the program code can be done in the same way as generating the program code for the current treatment process. In other words, generating the program code can refer to new program code executed during a treatment process, where the input parameter values ​​contain information about the progress of the (already started) treatment process.

[0053] The procedure of Fig.3. This can be performed by one or more computers with one or more data processing units. The term "data processing unit" can be understood as any type of entity that enables the processing of data or signals. The data or signals can, for example, be processed according to at least one (i.e., one or more than one) special function performed by the data processing unit. A data processing unit can include or be composed of an analog circuit, a digital circuit, a logic circuit, a microprocessor, a microcontroller, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an integrated circuit, a programmable gate array (FPGA), or any combination thereof.Any other method for implementing the respective functions described in more detail herein may also be understood as a data processing unit or logic circuit arrangement. One or more of the process steps described in detail herein may be executed (e.g., implemented) by a data processing unit through one or more special functions performed by the data processing unit.

[0054] According to various explanations, the process is therefore implemented primarily using computers.

[0055] The following are various examples of implementation.

[0056] Example 1 is a method for controlling a household appliance. The method may include: receiving input parameter values ​​that define constraints for controlling the household appliance; determining a set of control parameter values ​​according to an optimization algorithm whose solution space is a solution space of sets of control parameter values ​​and whose fitness function evaluates, at least for some of the constraints, whether and / or how well the constraints are met by a given set of control parameter values; generating program code executable by a control device of the household appliance based on the determined set of control parameter values; and controlling the household appliance by executing the executable program code through the control device.

[0057] In Example 2, the subject of Example 1 may optionally include the procedure further comprising a determination of whether and / or how well the constraints are taken into account by the respective set of control parameter values, using a machine prediction model.

[0058] In Example 3, the subject of Example 2 may optionally include the procedure of further comprising a prediction of one or more treatment outcome values ​​by feeding at least a part of the control parameter values ​​to the machine prediction model, wherein the machine prediction model is trained to predict treatment outcome values ​​from control parameter values, and a determination of whether and / or how well the constraints are taken into account by the respective set of control parameter values ​​by comparing the predicted treatment outcome values ​​with the constraints.

[0059] In Example 4, the item can optionally include any of Examples 1 to 3 such that controlling the household appliance is controlling the household appliance to carry out exactly one treatment process.

[0060] In Example 5, the subject of Example 4 may optionally include the control of the household appliance being the control of the household appliance for the treatment of one or more items.

[0061] In Example 6, the object of Example 5 may optionally include the treatment of cleaning and / or maintenance of the objects.

[0062] In Example 7, the subject of any of Examples 5 or 6 may optionally include the constraints that define at least one treatment performance goal to be achieved through the treatment.

[0063] In Example 8, the subject of any of Examples 4 to 7 may optionally have that the constraints define at least one restriction that must be observed during the treatment process.

[0064] In Example 9, the subject of any of Examples 4 to 8 may optionally include the executable program code being discarded after the treatment process.

[0065] In Example 10, the item of any of Examples 4 to 9 may optionally have input parameter values ​​that reflect an evaluation of one or more previous treatment processes performed by the household appliance.

[0066] In Example 11, the subject matter of any of Examples 4 to 10 may optionally include the method further comprising an adaptation of the executable program code during the execution of the treatment process depending on sensor data containing information about the treatment process.

[0067] In Example 12, the subject of any of Examples 1 to 11 may optionally include the fact that the executable program code is generated by inserting the control parameter values ​​into program source code and subsequently compiling the program source code into the executable program code.

[0068] In Example 13, the subject of any of Examples 1 to 12 may optionally have the executable program code being machine code.

[0069] In Example 14, the item can optionally include any of Examples 1 to 13, such that the constraints include environmental conditions of the household appliance.

[0070] In Example 15, the subject of any of Examples 1 to 14 may optionally exhibit that the optimization algorithm is a genetic algorithm. The solution space is a population, and the solution space of sets of control parameter values ​​is a population of sets of control parameter values. The procedure further features forming a population of sets of control parameter values.

[0071] Example 16 is a household appliance tax order, set up to carry out a procedure according to one of Examples 1 to 15.

[0072] In Example 17, the subject of Example 16 may optionally include the determination of the set of control parameter values ​​and the control of the household appliance being carried out by different devices.

[0073] In Example 18, the item of any of Examples 16 or 17 may optionally include the determination of the set of control parameter values ​​by one or more devices external to the household appliance and the control of the household appliance by a control device arranged in the household appliance.

[0074] In Example 19, the subject of Example 18 may optionally include one or more devices external to the household appliance being one or more cloud computers.

[0075] Example 20 is a computer program with instructions which, when executed by a processor, cause the processor to perform a procedure according to one of Examples 1 to 15.

[0076] Example 21 is a computer-readable medium that stores instructions which, when executed by a processor, cause the processor to perform a procedure according to any one of Examples 1 to 15.

Claims

[1] Method for controlling a household appliance, comprising: Receiving input parameter values ​​that define constraints for controlling the household appliance; Determining a set of control parameter values ​​according to an optimization algorithm whose solution space is a solution space of sets of control parameter values ​​and whose fitness function assesses, at least for some of the constraints, whether and / or how well the constraints are taken into account by a given set of control parameter values; Generating executable program code by a control device of the household appliance based on the determined set of control parameter values; and controlling the household appliance by executing the executable program code through the control device. [2] Method according to claim 1, further comprising: Determine whether and / or how well the constraints are taken into account by the respective set of control parameter values, using a machine prediction model. [3] Method according to claim 2, further comprising: Predictions of one or more treatment outcome values ​​by feeding at least a portion of the control parameter values ​​to the machine prediction model, wherein the machine prediction model is trained, from To predict treatment outcome values ​​based on control parameter values, and to determine whether and / or how well the constraints are taken into account by the respective set of control parameter values ​​by comparing the predicted treatment outcome values ​​with the constraints. [4] Method according to any one of claims 1 to 3, wherein controlling the household appliance is controlling the household appliance to carry out exactly one treatment process. [5] Method according to claim 4, wherein controlling the household appliance is controlling the household appliance for the treatment of one or more items. [6] Method according to claim 5, wherein the treatment is a cleaning and / or a maintenance of the objects. [7] Method according to claim 5 or 6, wherein the constraints define at least one treatment outcome to be achieved by the treatment. [8] Method according to any one of claims 4 to 7, wherein the constraints define at least one restriction which must be observed during the treatment process. [9] Method according to any one of claims 4 to 8, wherein the executable program code is discarded after the treatment process. [10] Method according to any one of claims 4 to 9, wherein the input parameter values ​​include an evaluation of one or more previous treatment processes carried out by the household appliance. [11] Method according to any one of claims 4 to 10, further comprising: Adapting the executable program code during the treatment process based on sensor data containing information about the treatment process. [12] Method according to any one of claims 1 to 11, wherein the executable program code is generated by inserting the control parameter values ​​into program source code and subsequently compiling the program source code to the executable program code. [13] Method according to any one of claims 1 to 12, wherein the executable program code is machine code. [14] Method according to any one of claims 1 to 13, wherein the constraints include environmental conditions of the household appliance. [15] Method according to any one of claims 1 to 14, where the optimization algorithm is a genetic algorithm, where the solution space is a population, and where the solution space of sets of control parameter values ​​is a population of sets of control parameter values; the procedure further involves forming a population of sets of control parameter values. [16] Household appliance control device, designed to carry out a method according to any one of claims 1 to 15. [17] Household appliance control arrangement according to claim 16, wherein the determination of the set of control parameter values ​​and the control of the household appliance are carried out by different devices. [18] Household appliance control arrangement according to claim 16 or 17, wherein the determination of the set of control parameter values ​​is carried out by one or more devices external to the household appliance and the control of the household appliance is carried out by a control device arranged in the household appliance. [19] Household appliance control arrangement according to claim 18, wherein the one or more devices external to the household appliance are one or more cloud computers. [20] Computer program with instructions which, when executed by a processor, cause the processor to perform a method according to any one of claims 1 to 15. [21] Computer-readable medium storing instructions which, when executed by a processor, cause the processor to perform a method according to any one of claims 1 to 15.