Error Messages

<< Click to Display Table of Contents >>

Navigation:  Chapter 9 - Global Constants and Error Messages >

Error Messages

Previous pageReturn to chapter overviewNext page

All GALIB functions return a value.  Zero return value means that there were no errors during the call of a function; a non-zero return value means that an error occurred.

 


noerror - Error=0

 

Description: "No errors detected".

 

Solution: No errors occurred when the GALIB32.DLL function was called.  The program may continue without interruption.

 

Occurrence: Programming - yes, Excel interface - yes.


too_many_popul - Error=1

 

Description: "Too many populations".

 

An attempt has been made to create more than 128 populations executing at the same time.

 

Solution: Kill one or more of the existing populations and recreate the new population.  When programming, this error code is returned by the function GetNextPopulation.

 

Occurrence: Programming - yes, Excel interface - yes.


no_memory - Error=2

 

Description: "Not enough global memory was available for the request".

 

There is not enough memory available to create the population.  Memory resources of Windows are exhausted.

 

Solution: The computer probably has too many Windows applications running at the same time.  Close one or more application(s) currently running on your computer and rerun the program.  This error can also occur if the space requirements for your chromosomes and populations are simply too large for your machine.

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_population - Error=3

 

Description: "Invalid population number".

 

(I)  The population number is not in the range [0, 127].

 

(ii)  The population number is inactive.

 

Solution: Verify that you first called the function GetNextPopulation to obtain the number of the next available population.  Use this number when calling all other GALIB functions.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_popul_size - Error=4

 

Description: "Invalid size of population".

 

Solution: The size of the population must be an integer number in the range [4, 2000].  Verify that the population size is in this range.

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_chromosome - Error=5

 

Description: "Invalid chromosome number".

 

(i) When calling the MakeChromosome function (used with continuous chromosomes), this error means that you attempted to use a chromosome number that was not next in the sequence (all chromosomes must be created in a series without skipping numbers, one at a time).  Chromosome numbers must be in the range 0 to 4999.

 

(ii) When calling the GetChromosome and PutChromosome functions, this error means that you must use the chromosome number in the range from 0 to the number of the chromosome used in the very last call of the function MakeChromosome.

 

Solution:

 

(i) You must first create chromosome # 0, followed by 1, 2, etc..  The maximum total number of continuous chromosomes is 5000; the maximum total number of enumerated chromosomes is 2000.

 

(ii) Use the chromosome number in the range from 0 to the number of the chromosome used in the very last call of the function MakeChromosome.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_precision - Error=6

 

Description: "Invalid precision in chromosome description".

 

The precision of a continuous chromosome must be an integer value from 1 to 3.

 

Solution: The best way to avoid this error is to use one of the three global constants BIT8, BIT16, or BIT32.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_individ - Error=7

 

Description: "Invalid number of individual".

 

Solution: The number of the individual must be an integer number from 0 to PopSize-1, where PopSize designates the population size specified when calling the function MakePopulation.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_range - Error=8

 

Description: "Invalid range specification in chromosome description".

 

(i)  The minimum has been set to a value greater than or equal to the maximum value of the range of the continuous chromosome that was created by calling the MakeChromosome function.

 

(ii)  If a continuous chromosome is specified as an integer type, then both the minimum and maximum values must be integer values in the range [-32768, 32767], and the minimum must be less than the maximum.

 

Solution: Check the minimum/maximum values to insure they are within the correct range.

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_chromo_value - Error=9

 

Description: "Invalid value of chromosome".

 

Solution: The value of the chromosome must be a single-precision number in the minimum/maximum range that was specified when calling the function MakeChromosome.  Verify that the chromosome values fall within that range.

 

Occurrence: Programming - yes, Excel interface - no.


popul_not_killed - Error=10

 

Description: "Cannot kill the population".

 

This error occurs when the function KillPopulation is called.  The memory occupied by the population cannot be released.  This error may occur when there are internal problems with Windows memory management.

 

Solution: Close all applications, quit Windows, reboot your computer, and restart your program.

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_fit_range - Error=11

 

Description: "Invalid value of fitness scaling".

 

This error occurs when the SetStrategy function is called.

 

Solution: The fitness function scaling ratio must be a single-precision number in the range [0, 100].  The recommended value is 3.0.

 

Occurrence: Programming - yes, Excel interface - no.


equal_fitnesses - Error=12

 

Description: "Fitnesses in the population are the same.  No further reproduction is possible".

 

This code means that with the current parameters of the population, all individuals are degenerating, i.e., evolving to an identical solution.  In other words, the population lacks genetic diversity.

 

Solution: This is an abnormal situation but not necessarily an error.  If a good solution has been reached already, then there is no problem.  Otherwise, you need to increase either the population size or the mutation rate, and repeat the optimization.

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_cross_type - Error=13

 

Description: "Unknown crossover type".

 

This error occurs when the SetOperators function is called with an invalid crossover type for continuous chromosomes.

 

Solution: The allowed value is 1 that corresponds to the one-point crossover.  The best solution is to use the special constant, SIMPLE_CONT_CROSS, which is defined as a global constant.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_select_type - Error=14

 

Description: "Unknown selection type".

 

This error occurs when the SetStrategy function is called with an invalid selection type.

 

Solution: Allowed values are 0 and 1 that correspond to the roulette-wheel and elitist selections.  Use the special constants PURE_SELECTION and ELITIST_SELECTION defined in the Global Constants section.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_cross_rate - Error=15

 

Description: "Invalid rate of crossover".

 

This error occurs when the function SetOperators is called with an invalid crossover rate.

 

Solution: The crossover rate must be a single-precision number in the range [0,1].  Recommended values are in the range [0.5, 0.9].

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_mutat_rate - Error=16

 

Description: "Invalid rate of mutation".

 

This error occurs when the function SetOperators is called with an invalid mutation rate.

 

Solution: The mutation rate must be a single-precision number in the range [0, 1].  Recommended values are in the range [0.001, 0.01].

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_gener_gap - Error=17

 

Description: "Invalid generation gap".

 

This error occurs when the function SetStrategy is called with an invalid generation gap value.

 

Solution: The generation gap must be a single-precision floating-point number in the range [0, 1].  Recommended values are in the range [0.9, 0.99].  The generation gap is directly connected with the elitist strategy defining the extent of selective pressure on the population.

 

Occurrence: Programming - yes, Excel interface - yes.


negative_fitness - Error=18

 

Description: "Negative fitness detected".

An error occurred during the scaling of the fitness values.  This error indicates that, after scaling, there is still at least one individual with a negative fitness function value.

 

Solution: This should never occur.  If it does, you may have a problem with one of the following:  your math coprocessor, WIN87EM.DLL, or the compiler we used does not work properly on your computer.  Contact WSG Tech Support.

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_enum_chromosome - Error=19

 

Description: "Invalid number of the enumerated chromosome".

 

(i) When calling the MakeEnumChromosome function, this error may mean that you did not use the next available chromosome number, or that you used a number greater than 1999.

 

(ii) When calling the GetEnumChromosome and PutEnumChromosome functions, this error means that you must use the chromosome number in the range from 0 to the maximum number of the chromosome used in the very last call of the function MakeEnumChromosome.

 

Solution: (i) All enumerated chromosomes (like continuous ones) must be created sequentially, one-by-one.  You must create the enumerated chromosome # 0, then 1, 2, and so on.  The maximum total number of enumerated chromosomes is 2000.

 

                 (ii) You must use a chromosome number in the range from 0 to the maximum number of the chromosome used in the very last call of the function MakeEnumChromosome.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_enum_chromo_range - Error=20

 

Description: "Invalid range of the enumerated chromosome".

 

The range of the enumerated chromosome (its alphabet size) must be within the range [2, 32767].

 

Solution: This value is an upper limit of the genes of the enumerated chromosome.  All gene numbers are generated randomly in the interval [0, RANGE - 1], where RANGE designates the range of the enumerated chromosome.  For instance, if RANGE=2, then the chromosome will be initialized as a random array of 0s and 1s.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_enum_chromo_length - Error=21

 

Description: "Invalid length of the enumerated chromosome".

 

The length of the enumerated chromosome must be within the range [2, 500].

 

Solution: This means that the total number of cells (genes) defined as a single enumerated chromosome must be more than 2, but less than or equal to 500.  If you have more than 500 cells, try to divide your problem into several parts and optimize them independently.

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_enum_chromo_type - Error=22

 

Description: "Invalid type of the enumerated chromosome".

 

The type of the enumerated chromosome must be an integer with a value of either 0 or 1.

 

Solution: Use the constants REPEATING_GENES and UNIQUE_GENES when calling the MakeEnumChromosome function.  These constants are described in the Global Constants section.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_enum_cross_type - Error=23

 

Description: "Invalid crossover type of the enumerated chromosome".

 

The crossover type must be an integer with a value of either 0 or 1.

 

Solution: Use global constants REPEATING_GENES_CROSS and UNIQUE_GENES_CROSS when calling the function SetEnumOperators.  These constants are described in the Global Constants section.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_enum_cross_rate - Error=24

 

Description: "Invalid crossover rate of the enumerated chromosome".

 

The crossover rate must be a single-precision number in the range [0, 1].

 

Solution: Recommended values are in the range [0.5, 0.9].  The error occurs when the function SetEnumOperators is called with an invalid crossover rate.  Verify that the crossover rate is within the range [0, 1].

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_enum_mutat_rate - Error=25

 

Description: "Invalid mutation rate of the enumerated chromosome".

 

The mutation rate must be a single-precision number in the range [0, 1].

 

Solution: Recommended values are in the range [0.001, 0.01]. This error occurs when the function SetEnumOperators is called with an invalid mutation rate.  Verify that the mutation rate is within the range [0, 1].

 

Occurrence: Programming - yes, Excel interface - yes.


no_chromosomes - Error=26

 

Description: "Individuals have no chromosomes".

 

This error code is returned by the function Reproduce.  An attempt was made to start evolution with no chromosomes defined for the individuals in the population.

 

Solution: You must first create the chromosome(s) by calling the function MakeChromosome (and/or MakeEnumChromosome, and/or MakeChromosomePool).  Next, assign fitnesses to all individuals.  You may then start evolution by calling the Reproduce function.

 

Occurrence: Programming - yes, Excel interface - no.


no_populations - Error=27

 

Description: "There are no populations".

 

This error is returned by the function GetMaxPopulNum.  The error message occurs when there are no populations in the memory.

 

Solution: This function is used for debugging purposes only.

 

Occurrence: Programming - yes, Excel interface - no.


bad_serial_number - Error=28

 

Description: "Bad serial number passed to the DLL".

 

Solution: When programming with the DLL, this error means that you need to change the “dummy” serial number passed to the DLL by the function MakePopulation, to the value printed on your GeneHunter distribution floppy disk.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_pool - Error=29

 

Description: "Invalid pool number".

 

(i) When calling the MakeChromosomePool function, this error means that you must use the next available pool number.  All chromosome pools must be created sequentially, one-by-one.

 

(ii) When calling the GetChromosomePool and PutChromosomePool functions, this error means that you must use the chromosome pool number in the range from 0 to the maximum number of the pool used in the very last call of the function MakeChromosomePool.

 

Solution: (i)  You must first create pool # 0, then 1, 2, and so on. The maximum total number of chromosome pools is 200.

 

                  (ii) You must use the chromosome pool number in the range from 0 to the maximum number of the pool used in the very last call of the function MakeChromosomePool.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_pool_precision - Error=30

 

Description: "Invalid precision in the pool description".

 

The precision of the continuous chromosomes in the chromosome pool must carry an integer value from 1 to 3.

 

Solution: The best way would be to use one of three global constants BIT8, BIT16, or BIT32 described in the Global Constants section.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_pool_range - Error=31

 

Description: "Invalid range specification in the pool description".

 

The minimum has been set to a value greater than or equal to the value of the maximum for the range of the chromosome pool variation.

 

Solution: Verify that the minimum value is less than the maximum value.

 

Occurrence: Programming - yes, Excel interface - yes.


invalid_pool_value - Error=32

 

Description: "Invalid value of a chromosome in the pool".

 

The error occurred while using the function PutChromosomePool to assign a specific value to a continuous chromosome in the pool.

 

Solution: The value of a chromosome must be a single-precision floating point number in the minimum and maximum range that was specified in the function MakeChromosomePool.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_pool_size - Error=33

 

Description: "Invalid pool size".

 

The error occurred while creating a continuous chromosome pool.

 

Solution: The pool size is the number of chromosomes in the pool.  It must be an integer number in the range [1, 10000].  Verify that the pool size is within this range.

 

Occurrence: Programming - yes, Excel interface - no.


invalid_diversity_rate - Error=34

 

Description: "Invalid diversity rate".

 

Solution: The diversity rate must be a single-precision number in the range [0, 1].  Recommended values are within the range [0.1, 0.5].

 

Occurrence: Programming - yes, Excel interface - no.


invalid_diversity_radius - Error=35

 

Description: "Invalid diversity radius".

 

Solution: The diversity radius must be a single-precision number in the range [0, 1].  Recommended values are within the range [0.0001, 0.1].

 

Occurrence: Programming - yes, Excel interface - no.


invalid_extinction_period - Error=36

 

Description: "Invalid extinction period".

 

Solution: The extinction period must be an integer greater than 0.  Recommended values are in the range [10, 50].

 

Occurrence: Programming - yes, Excel interface - no.


invalid_extinction_rate - Error=37

 

Description: "Invalid extinction rate".

 

Solution: The extinction rate must be a single-precision number in the range [0, 1].  Recommended values are in the range [0.01, 0.1].

 

Occurrence: Programming - yes, Excel interface - no.