Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ENERGY SAVING METHOD FOR COOKING HOBS USING ELECTRICITY
Document Type and Number:
WIPO Patent Application WO/2004/028211
Kind Code:
A1
Abstract:
An energy saving method for cooking hobs using electricity and having plurality of cooking zones comprising the steps of, creating a life cycle array, having elements storing a maximum energy consumption value, in a memory, allocating the elements to activation periods of all cooking zones within the life cycle array, in case of unallocated cooking zone(s) after the allocation searching the life cycle array for an available element storing a value equal or higher than the power value/s of the unallocated or partly allocated cooking zone(s), in case of available element allocating the activation period(s) of the cooking zone(s) to the available element(s), in case of no available element reducing the power level of the cooking zones and repeating the searching and allocating steps until there is no unallocated cooking zone within the life cycle array.

Inventors:
AKTUG BURAK (TR)
Application Number:
PCT/TR2002/000054
Publication Date:
April 01, 2004
Filing Date:
September 17, 2002
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GUENKOL GUENES ENERJISI VE KLI (TR)
AKTUG BURAK (TR)
International Classes:
F24C15/10; H05B3/74; (IPC1-7): H05B3/74; F24C15/10
Foreign References:
EP0442139A21991-08-21
Attorney, Agent or Firm:
DESTEK PATENT, INC. (No: 7 / Osmangazi, Bursa, TR)
Download PDF:
Claims:
CLAIMS
1. An energy saving method for cooking hobs using electricity and having plurality of cooking zones (1) comprising the steps of: determining the life cycle of the electrical cooking hob, determining the activation periods for each power level, number and powers of the cooking zones, determining a maximum energy consumption value, creating a life cycle array, having elements storing the maximum energy consumption value, in a memory, allocating the elements to the activation periods of all cooking zones within the life cycle array without coinciding the activation periods of different cooking zones in a predetermined order by deducting the power values of the cooking zones from the value present in the allocated elements, if there is still unallocated or partly allocated cooking zone/s after the first allocation, searching the life cycle array for an available element/s storing a value equal or higher than the power value/s of the unallocated or partly allocated cooking zone/s, in case of available element, allocating the activation period/s of the unallocated or partly allocated cooking zone/s to the available elements in case of no available element, reducing the power level of the cooking zones in a predetermined order and repeating the searching and allocating steps until there is no unallocated cooking zone within the life cycle array whereby the maximum energy consumption level is not exceeded within the any elements of the life cycle array.
2. An energy saving method according to claim 1, wherein the number of elements of the life cycle array is the same as the number of seconds in the life cycle of the hob.
3. An energy saving method according to claim 1, wherein the elements of the life cycle array stores integer values.
4. An energy saving method according to claim 1, wherein said predetermined order of the allocating elements step is such that allocation starts from the activation period of the cooking zone with highest power to cooking zone with lowest power, respectively.
5. An energy saving method according to claim 1, wherein said predetermined order of cooking zones'power level reducing step is such that the power level is reduced step by step by starting from the cooking zone with highest power to the cooking zone with lowest power, respectively.
6. An energy saving method according to claim 1, wherein said predetermined order of cooking zones'power level reducing step is such that the power level is reduced step by step by keeping the power level of the cooking zone with highest power stable while reducing the power levels of the remaining cooking zones by starting from the cooking zone with highest power to the cooking zone with lowest power, respectively.
7. An energy saving method according to claim 1, wherein the total energy consumption value of all cooking zones within the life cycle array for a current power level is deducted from the total energy consumption value for the maximum allowable power value within the life cycle array for determining whether there is any possibility of finding an available elements and in case of having negative result said reducing process is applied directly, on the contrary, said detection process is performed for determining whether there is any appropriate element for allocation.
8. An energy saving method according to claim 1, wherein in case of cooking zone controlled by a thermostat or like, the power value of such cooking zone is directly deducted from the maximum energy consumption and the result of the deduction is assigned to all elements as a new allowable maximum power.
9. An energy saving method according to any of the preceding claims claim 1, wherein said energy saving method can be applied to all other type of devices having plurality of heating means arranged in any shape or order and run by electricity such as electrical ovens for home and/or industrial purposes.
Description:
ENERGY SAVING METHOD FOR COOKING HOBS USING ELECTRICITY FIELD OF THE INVENTION The invention is related to a method for optimizing instant energy consumption of electrical cooking hobs. Particularly, the invention is related to a method for preventing instant energy consumption of the electrical cooking hobs from exceeding a predetermined value.

KNOWN STATUS OF THE INVENTION Electrical cooking hobs such as vitreous ceramic or ceramic are widely used for home or even industrial purposes. They typically comprise plurality of heating means, called cooking zones, a high power resistances for heating said means or zones and a control mechanism for determining the activation period of the cooking zones.

In the operation of the electrical cooking hobs, each cooking zone is activated for a predetermined period of time during each predetermined period of time of the hobs which we call hereafter as life cycle period. The activation period is determined by power levels of the hobs. In higher levels, cooking zones remain active for longer period of times during each life cycle period while staying shorter in lower power levels.

Accordingly, the energy consumption of the hobs, especially when considering home use thereof, has considerable effect on the total energy consumption since they use much more power than other electrical devices like TV, refrigerator, washing machine etc.

In connection with this, as it is known, high instant power consumption from a certain level leads to overloading or break down of the electricity systems of buildings or and even fires, especially considering old buildings having inadequate electricity systems and safety devices.

Additionally, with regard to electricity supplier companies, taking into account the number of places using electricity at the same time, their systems are also overloaded by severe amount of instant energy consumption whereby the systems become tend to break downs or other undesired results.

For this reason, the electricity suppliers in certain areas encourage their clients to use lower energy than their predetermined amount of energy consumption, which may cause the above problems, by increasing their rates in case of exceeding the maximum level or offering some discounts or campaigns. As a result of this, a consumer exceeding the predetermined consumption amount pays more than usual rates during the this time.

In the light of above explanations, it is evident that limiting the instant energy consumption of the hobs to a predetermined consumption level would eliminate the most of the above drawbacks.

In the past, attempts have been made to achieve above mentioned aspects. Generally, scope of these attempts are to shut down one ore more cooking zones when the predetermined energy consumption amount is exceeded. Such embodiment leads to inefficient and impractical operation of the cooking hobs.

BRIEF DESCRIPTION OF THE INVENTION Present invention relates to a novel energy saving method for cooking hobs such as ceramic hobs, vitreous ceramic hobs or electrical hobs.

In consideration of the above facts, the main scope of the invention is to prevent total instant energy consumption of the cooking zones of the hob from exceeding a predetermined maximum consumption level without shutting down the cooking zones but enabling all zones to operate at the maximum possible power level. Thanks to the novel method, since the maximum possible power level is not exceeded above mentioned drawbacks such as higher electricity bills, systems'breakdowns or even fires are prevented without sacrificing the efficient and practical operation of the devices.

An energy saving method for cooking hobs using electricity and having plurality of cooking zones comprising the steps of: determining the life cycle of the electrical cooking hob, determining the activation periods for each power level, number and powers of the cooking zones, determining a maximum energy consumption value, creating a life cycle array, which includes elements storing the maximum energy consumption value, in a memory, allocating the elements to the activation periods of all cooking zones within the life cycle array in a predetermined order without coinciding the activation periods of different cooking zones by deducting the power values of the cooking zones from the value present in the allocated elements,

if there is still unallocated or partly allocated cooking zone/s after the first allocation, searching the life cycle array for an available elements storing a value equal or higher than the power value/s of the unallocated or partly allocated cooking zone/s, in case of available element, allocating the activation period/s of the unallocated or partly allocated cooking zone/s to the available element/s in case of no available element, reducing the power level of the cooking zones in a predetermined order and repeating the searching and allocating steps until there is no unallocated cooking zone within the life cycle array whereby the maximum energy consumption level is not exceeded within the any elements of the life cycle array.

In one preferred embodiment of the present invention's method, the number of elements of the life cycle array is the same as the number of seconds in the life cycle of the hob, whereby each element of the array corresponds to one second-portion of the hob's life cycle.

In another preferred embodiment of the present invention's method, the elements of the life cycle array stores integer values.

In another preferred embodiment of the present invention's method, said predetermined order of the allocating elements step is such that allocation starts from the activation period of the cooking zone with highest power to cooking zone with lowest power, respectively.

In another preferred embodiment of the present invention's method, said predetermined order of cooking zones'power level reducing step is such that the power level is reduced step by step by starting from the cooking

zone with highest power to the cooking zone with lowest power, respectively.

In an alternative embodiment of the present invention's method, said predetermined order of cooking zones'power level reducing step is such that the power level is reduced step by step by keeping the power level of the cooking zone with highest power stable and reducing the power levels of the remaining cooking zones by starting from the cooking zone with highest power to the cooking zone with lowest power, respectively.

In another preferred embodiment of the present invention's method, the total energy consumption value of all cooking zones within the life cycle array for a current power level is deducted from the total energy consumption value for the maximum allowable power value within the life cycle array for determining whether any possibility to find an available elements and in case of having negative result said reducing process is applied directly, on the contrary, said detection process is performed for determining whether there is any appropriate element for allocation whereby unnecessary CPU usage and loss of time is prevented since the number of repeating the detection process is reduced.

In another preferred embodiment of the present invention's method, in case of cooking zone controlled by a thermostat or like, since it can not be controlled by the present invention's method the power value of such cooking zone is directly deducted from the maximum energy consumption and the result of the deduction is assigned to all elements as a new allowable maximum power.

In another preferred embodiment of the present invention's method, said energy saving method can be applied to all other type of devices having plurality of heating means arranged in any shape or order and run by electricity such as electrical ovens for home and/or industrial purposes.

BRIEF DESCRIPTION OF DRAWINGS Figure 1 is the top view of a typical hob.

Figure 2a is the view of life cycle array of the hob Figure 2b is the view of life cycle array of the hob after allocation Figure 3a is the activation period's graphs of the cooking zones Figure 3b is the life cycle graphs of the hob without any energy saving method.

Figure 3c is the life cycle graphs of the hob after applying the present invention's method.

Figure 4 is the graph illustrating the logic of pre-detection process.

REFERENCE NUMBERS 1. Cooking zone 2. Activation period of zone 1 3. Activation period of zone 2 4. Activation period of zone 3 5. Activation period of zone 4 6. Life cycle array of the hob 7. Element of the life cycle array 8. Available allocation field DETAILED DESCRIPTION OF THE INVENTION In this description, a vitreous ceramic hob is used as a non limiting example. On the other hand, the method of the invention can be applied to ceramic hobs, electrical hobs and even, with minor modifications, all other

types of ovens having plurality of cooking means heated by electrical power.

An example to the vitreous ceramic hob can be seen from the figure 1. In this device, there are four cooking zones (1) with predetermined powers.

The activation periods of the cooking zones (2,3, 4,5) within the predetermined life cycle of the ceramic hob are determined by adjusting their power level via a button etc. For example, considering that the life cycle period of the ceramic hob is 40 seconds and cooking zone 1, cooking zone 2, cooking zone 3 and cooking zone 4 are set to the power levels of 1,2, 1 and 4, respectively. According to the power levels, cooking zones 1,2, 3 and 4 are activated, for example, 4,5, 2 and 10 seconds, respectively, during each life cycle, i. e. 40 seconds. Therefore, the activation period of all cooking hobs are determined, as seen from the Figure 3a.

On the other hand, as a non limiting example, preferably, power of zone 1, zone 2, zone 3 and zone 4 can be 1200 W, 1800 W, 1800 W and 1200 W, respectively and for instance, maximum energy consumption can be determined by an electricity supplier company as 3000 W.

Taking into account above mentioned data, a life cycle array (6) is created by a software in a memory. The life cycle array (6) includes plurality of elements (7) with the same number of the life cycle's seconds, that is 40 elements. Accordingly, each element (7) corresponds to one second of the ceramic hob's life cycle period. Subsequently, the predetermined maximum energy consumption value is assigned to all elements of the life cycle array (7).

The illustration of the life cycle array (6) after the assignment is given in the figure 2a.

In the next step, before the allocation of the elements of the life cycle array (7) to the activation periods of four cooking hobs (2,3, 4,5) within the life cycle array (6). The cooking zones are ranged by starting from the cooking zone with the highest power to the lowest one. Therefore, the order of allocation can be ranged as cooking zone 2, cooking zone 3, cooking zone 1 and cooking zone 4.

After determining the allocation order, the life cycle array's elements (7) are allocated to the cooking zones in the above mentioned order by deducting each cooking zone's respective power value from the value stored in the life cycle array's elements (7). At first, al elements store 3000 W but at the later stage the value will of course change as result of the allocation (see Figure 2b).

Allocation is carried out by starting from the first to the last, i. e. 40th, element, respectively. For instance, value stored in the first element allocated for the cooking zone 1 becomes 1200 W after the allocation as a result of deduction 1800 W from 3000 W.

Accordingly, the illustration of the life cycle array (6) after the allocation is given in figure 2b. As seen from the figure 2b, elements 1-5 is allocated for zone 2, elements 6-8 is allocated for zone 3, elements 9-13 is allocated for zone 1 and lastly element 13-23 is allocated for zone 4. The rest of the elements, i. e. elements 24-40, remain unallocated.

Activation periods of zone 1, zone 2, zone 3 and zone 4 (2,3, 4,5) is given in the figure 3a. Accordingly, the life cycle graph of the hob without applying any energy saving method can be seen from the figure 3b. As it can be noted, during the first 4 seconds the instant energy consumption is 5000 W which is far more higher than the predetermined maximum energy

consumption level. Considering the higher power level of the hob, the period of exceeding maximum allowable consumption level becomes much longer.

On the other hand, from the figure 3c, the distinct effect of the present invention's method on the instant energy consumption can easily be noted. Thanks to the method, since activation period of the cooking zones (2,3, 4,5) is not coincided with the others, energy consumption is laid out over the life cycle of the hob far more homogeneously than the prior art without exceeding maximum energy consumption value of 3000 W.

Above example is given for operation of cooking zones for lower power level. However, at higher power levels, total activation time of all cooking zones may be higher than the life cycle of the ceramic hob. For example, if zone 1, zone 2, zone 3 and zone 4 are activated for 8,10, 8 and 20 seconds, respectively, as result of a higher power level, total activation time of the cooking zones becomes 46 seconds which is higher than the 40 second-life cycle of the ceramic hob.

In this case, at first, the allocation process is carried out as mentioned above. However, when all elements of the life cycle array are allocated there will be still 6 power values of 40-46 seconds needed to be allocated.

Subsequently, a reverse allocation process continues from the end of the life cycle array to the beginning, i. e. from the element 40 to the element 1.

In this case, a test algorithm is carried out by the software of the invention before starting reverse allocation in order to determine whether there is any possibility to find available elements for allocating remaining 6 power values of 40-46 seconds. In this test, total energy consumption amount of all cooking zones for related a certain level is deducted from the total predetermined maximum energy consumption amount for all element. The formula of the test process is given below :

Emax: Maximum energy consumption, preferably 3000 W T: Life cycle time of the ceramic hob, preferably 40 seconds i: the cooking zone, preferably four cooking zones HEi: power of the cooking zone ti: Activation time of the cooking zone Accordingly, if the result of the equation given above is equal or higher than zero this means there may be still an available elements for allocation. Accordingly, a detection process is carried out in order to determine whether there is any available elements with an integer power value equal or higher than the power values of the cooker zone/s to be allocated, within the life cycle array for allocation. If there is no available element or if there are still unallocated or partly allocated cooker zones exist after the reverse allocation the power levels of all cooker zones are reduced one level, respectively, starting from the zone with highest power to the lowest one. After reducing the level of one cooking zone, said detection process is repeated until all remaining unallocated or partly allocated cooker zones are allocated.

If there is still unallocated or partly allocated cooker zones even though power levels of all cooker zones are reduced one level, same process is repeated by reducing the power levels of all cooker zones respectively one or even more level in the above mentioned order until all cooker zones are allocated.

Additionally, as an alternative to above mentioned power level reducing method, the power level of the cooker zone with highest power is kept unchanged and the rest of the cooker zones'power levels are reduced as

explained above, that is from the zone with highest power to lowest one and this process is repeated until all cooker zones are allocated.

On the contrary, if the result of the equation given above is lower than zero this means there is no possibility to find any available element within the life cycle for allocation and thus there is no need to carry out above mentioned detection process. As a result of this, the power level of cooking zones are reduced directly by using one of two above mentioned power level reducing methods.

Such a test process provides considerable savings in CPU usage and time by preventing unnecessary detection processes.

For a better understanding, in the figure 4, there is given an energy-time graph explaining the function of the detection process. In the illustrated example, existence of an available allocation field (8) shows that the result of the test is positive and thus the detection process must be carried out.

In the light of above explanations, there is given the details of the software of the present invention.

GLOBAL VARIBLE DEFINITIONS : intNumberOfHobs: holds the number of hobs intMaxEnergyConsumption: holds the max. enegry consumption level which will be defined by the Energy Company intNumberOfLevels : Number of levels which are available for all hobs intLifeCycle : Repeating time span for all hobs intConsumeDirection: An integer value which holds the direction of the movement on the CONTROL ARRAY (intControlArray [] ). Positive values mean 1,2, 3..., n-1, n and negative values mean n, n-1, n-2,...., 2,1

intConsumePosition: An integer values that holds the current position on CONTROL ARRAY (intControlArray []) intKeepMaxAliveTracker : Holds the hob index which is being processing currently in the"KEEP_MAXIMUM_ALIVE ()"function intNormalizeAlITracker : Holds the hob index which is being processing currently in the"NORMALIZE_ALL ()"function intKeepMaxAliveStatus : Return value of function "KEEP_MAXIMUM_ALIVE ()". Negative values mean failure, positive values mean success. intNormalizeAlIStatus : Return value of function"NORMALIZE_ALL ()".

Negative values mean failure, positive values mean success. intEConsHob []: An array of integer values which holds energy consumption values intTimePeriodOfLevel []: An array of integer values which holds time interval of being energy consuming state-turned on-of every hob that has been setted a specific level intLevelOfHobs []: An array of integers which holds the level values setted for all available hobs. intControlArray []: Core component of the system. An array of integer values that holds allowed max. energy consumption value at the initilization phase. intHobOrder []: An life cycle array which holds the order of the hobs according to the levels which they has been setted intinitialHobOrder []: Initial order of the hobs according to their levels at the very beginning of the program (needed to restore the system to a previous state) intinitialLevelOfHobs []: Initial levels of the hobs before program execution (needed to restore the system to a previous state) intWatchDog: A global counter which has is used to prevent the program enters an infinite loop.

BRIEF INTRODUCTON TO THE PROGRAM FUNCTIONS

ENERGY_SAVING_MAIN : This is the entry point of the program. Program execution starts with the first statement of this function and ends with the completion of last step of it CONSTRUCT_SYSTEM : This function builds and initializes required structures by the program CHANGE_CONSUME_DIRECTION : This is a helper function which is not directly called by main but other functions. It checks the movement direction on the CONTROL ARRAY (intControlArray [] ) structure and reverses it. For instance, if the movement on intControlArray [] is from the smaller index numbers to larger ones (1,2, 3...., n-1, n) it reverse this direction and sets it from larger index numbers to smaller ones. (n, n-1, n- 2,....., 2,1) APPLY_FORMULA : That function is used to determine if it is possible to place all hobs into the time scale without any overflow in Max. Energy Consumption Level. It is NOT always true that a condition passes that formula will fit in the time scale without overflow. It just reduces the number of conditions but not prove any"no overflow"case.

SORT_HOB_LEVELS : Hobs and their levels are almost always used in ascending order in the program. This function sorts the level of every hob in ascending order and place the indexes into an array CONSUME_RESOURCES : This function deals with the problem of appropriate allocation of core structure (intControlArray [] ) and management. It also calls other helper functions to preserve system resources and/or restart the operations without error.

KEEP-MAXIMUM-ALIVE : It is always possible to see an instant energy consumption more than allowed level (maximum energy consumption boundary settled by Energy Company), which is called an"overflow".

When an overflow is predicted, there is a way which is called KEEP MAXIMUM ALIVE to deal with it. In this scenario, the hob which consumes max. amount of energy will be left at the same level and the other hobs will be reduced one by one according to their levels.

NORMALIZE_ALL : Another way to deal with an overflow is to reduce the levels of all hobs in round-robin manner. At the very beginning of the algorithm, all hob levels are sorted, so the decreasing of levels will occur in an order.

REGAIN_RESOURCES : This is a"house keeping"or"garbage collecting" function which prevents the program consumes too many resources

(memory space) and force it to release the resources which are not used anymore.

PRESERVE_STATE : This function let the program be able to return its previously known good state. That prevents it to misfunction and crash START_SYSTEM : This function is the only hardware depended part of the program. It contains some routines to turn on/off and read/set the state of a device. There is a system variable which is named SYSTEM-HEART-BEAT in this function. It is the clock signal pulse comes directly from the system (server, client or the device) PROGRAM NOTATION In the program algorithm, following notation has been used; SPARKS notatin has been used where it is possible and meaningfull ; Comment lines begins with Arithmetic operators has been used in their everyday meaning; they are: # "+" is add, "-"is subtract,"*"is multiply and"/"is divide. only"="operator is used for comparison purposes. If the left hand side and the right hand side members of the operator are equal, the result of the comparison is TRUE.

"e"is used as assignment operator SIZEOF is used as a predefined function which returns the size of the array, for example; integer myArray [1 7] SIZEOF (myArraY2) SIZEOF function will return"17"

PROGRAM ALGORITHM //MAIN function is the entry point of the program FUNCTION ENERGY SAVING MAIN () //Global variable declerations (literals) integer intNumberOfHobs integer intMaxEnergyConsumption integer intNumberOfLevels integer intLifeCycle integer intConsumeDirection integer intConsumePosition integer intKeepAliveTracker integer intKeepAliveStatus integer intNormalizeAlITracker integer intNormatizeAiiStatus integer intWatchDog //Global variable definitions (arrays) life cycle array intControlArray [intLifeCycle] life cycle array intEConsHob [intNumberOfHobs] life cycle array intTimePeriodOfLevel [intNumberOfLevels] life cycle array intLevelOfHobs [intNumberOfHobs] life cycle array intlnitialLevelOfHobs [intNumberOfHobs] life cycle array intHobOrder [intNumberOfHobs] life cycle array intinitialHobOrder [intNumberOfHobs] Call Function CONSTRUCT () Call Function SORT_HOB_LEVELS () Call Function PRESERVE_STATE () Call Function APPLY_FORMULA () Call Function CONSUME-RESOURCES () Call Function START SYSTEM () } FUNCTION CONSTRUCT SYSTEM () { //Get whole initial values from the system or user at the installation //for example II intNumberOfHobs e SYSTEM //Creating and initilizing control array for i <-1 to intLifeCycle intControlArray [i] e intMaxEnergyConsumption Next intWatchDog e intNumberOfHobs * intNumberOfLevels

for i <-1 to intNumberOfHobs for ii <-1 to intLifeCycle intStartPosition [i] [ii] P 0 Next Next } END FUNCTION FUNCTION CHANGE CONSUME DIRECTION () { if intConsumeDirection > 0 then intConsumeDirection <--1 intConsumePosition <-SIZEOF (intControlArray []) else intConsumeDirection E-1 intConsumePosition <-1 end if } END FUNCTION FUNCTION APPLY FORMULA () { intConsumptionTotal <-0 for i <-I to intNumberOfHobs intConsumptionTotal <-intConsumptionTotal + intEConsHob [i] * intTimePeriodOfLevel [intLevelOfHobs [i]] Next intMaxConsumption e intMaxEnergyConsumption * intLifeCycle if (intMaxConsumption-intConsumptionTotal) < 0 then intProcessCounter e intProcessCounter + 1 if intProcessCounter > intWatchDog then SYSTEM. TERMINATE PROGRAM () end if Call Function NORMALIZE_ALL () Call APPLY_FORMULA () OR Call Function KEEP_MAXIMUM_ALIVE () Call APPLY_FORMULA () End if } END FUNCTION FUNCTION SORT HOB LEVELS ()

intStart <-intLeve ! OfHobs [1] intHobOrder [1] 1 intEnd + 0 for i <-1 to intNumberOfHobs intStart e intLevelOfHobs [i] for ii <-1 to intNumberOfHobs intEnd e intLevelOfHobs [ii] if intEnd > intStart then intHobOrder [i] e ii end if Next Next } END FUNCTION FUNCTION CONSUME-RESOURCES () { for i <-1 to intNumberOfHobs index <-intHobOrder [i] if intConsumeDirection > 0 then if (SIZEOF (intControlArray [])-intConsumePosition + 1) > intTimePeriodOfLevel [intLevelOfHobs [i]] then intPositionable <-true else intPositionable <-false Call Function CHANGE CONSUME DIRECTION () end if else if intConsumePosition > intTimePeriodOfLevel [intLevelOfHobs [i]] then intPositionable <-true else intPositionable <-false Call Function CHANGE CONSUME DIRECTION () end if end if if intConsumeDirection > 0 then

for ii e intConsumePosition to intConsumePosition + intTimePeriodOfLevel [intLevelOfHobs [in dex]] intControlArray [ii] <-intControlArray [ii]-intEConsHob [index] if intControlArray [ii] < 0 then Call Function REGAIN_RESOURCES () Exit Function CONSUME RESOURCES () end if Next intStartPosition [index] [intConsumePosition] <-1 intConsumePosition e intConsumePosition + intTimePeriodOfLevel [intLevelOfHobs [index]] + 1 Else For ii <-intConsumePosition down to intConsumePosition- intTimePeriodOfLevel [intLevelOfHobs [in dex]] intControlArray [ii] <-intControlArray [ii]-intEConsHob [index] if intControlArray [ii] < 0 then Call Function REGAIN_RESOURCES () Exit Function CONSUME RESOURCES () end if Next intStartPosition [index] [ii] <-1 intConsumePosition <-ii-1 End if Next } END FUNCTION FUNCTION KEEP MAXIMUM ALIVE () { intKeepMaxAlive <-2 if intLevelOfHobs [2] > 0 then intLevelOfHobs [2] E-intLevelOfHobs [2]-1 intKeepMaxAliveStatus <-1 else intKeepMaxAliveStatus <- (-1) end if Call Function SORT HOB LEVELS () } END FUNCTION FUNCTION NORMALIZE ALL ()

if intLevelOfHobs [intinitialHobOrder [i]] > 0 then intLevelOfHobs [intinitialHobOrder [i]] e intLevelOfHobs [intinitialHobOrder [i]]-1 intNormalizeAliStatus <-1 end if i e intNormalizeAIITracker intNormalizeAIITracker e intNormalizeAIITracker + 1 if intNormalizeAlITracker > SIZEOF (intControlArray) then intNormalizeAlITracker <-1 end if } END FUNCTION FUNCTION REGAIN RESOURCES () { for i 1 to SIZEOF (intControlArray []) intControlArray [i] <-intMaxEnergyConsumption Next For i <-1 to intNumberOfHobs intLevelOfHobs [i] G intinitialLevelOfHobs [i] Next for i <-1 to intNumberOfHobs for ii <-1 to intLifeCycle intStartPosition [i] [ii] 0 Next Next intConsumeDirection <-1 intConsumePosition e 1 intKeepMaxAliveTracker <-1 intKeepMaxAliveStatus <-1 intNormalizeAIITracker e 1 intNormalizeAlIStatus <-1 } END FUNCTION FUNCTION PRESERVE STATE () { for i <-1 to intNumberOfHobs intinitialLevelOfHobs [i] E-intLevelOfHobs [i] intinitialHobOrder [i] e intHobOrder [i] Next } END FUNCTION FUNCTION START SYSTEM () { for i <-1 to intNumberOfHobs if intStartPosition [i] [SYSTEMHEARTBEAT] then START_HOB (i, intLevelOfHobs [i]) End if Next } END FUNCTION Although the present invention has been shown and described in terms of a preferred embodiment, it will be appreciated that changes and modifications will be evident to those skilled in the art from knowledge of the teachings of the present invention. Such changes and modifications, which do not depart from the spirit, scope and teachings herein, are deemed to fall within the purview of the invention as set forth in the appended claims.