llamda.ga.hsevo package

Submodules

llamda.ga.hsevo.evolution module

llamda.ga.hsevo.hsevo module

class llamda.ga.hsevo.hsevo.HSEvo(config, problem, evaluator, llm_client, output_dir)[source]

Bases: GeneticAlgorithm[HSEvoConfig, Problem]

Parameters:
cal_usage_LLM(lst_prompt, lst_completion, encoding_name='cl100k_base')[source]

Returns the number of tokens in a text string.

Parameters:
Return type:

None

comprehensive_reflection()[source]
Return type:

None

create_new_harmony(harmony_memory, bounds)[source]
Parameters:
Return type:

ndarray

create_population_hs(str_code, parameter_ranges, harmony_memory, try_hs_idx=None)[source]
Parameters:
Return type:

list[HSEvoIndividual] | None

crossover(population)[source]
Parameters:

population (list[HSEvoIndividual])

Return type:

list[HSEvoIndividual]

evolve()[source]
Return type:

tuple[str, str]

find_best_obj(population_hs)[source]
Parameters:

population_hs (list[HSEvoIndividual])

Return type:

int

flash_reflection(population)[source]
Parameters:

population (list[HSEvoIndividual])

Return type:

None

Return type:

HSEvoIndividual | None

init_population()[source]
Return type:

None

initialize_harmony_memory(bounds)[source]
Parameters:

bounds (list[list[int]])

Return type:

ndarray

mutate()[source]

Elitist-based mutation. We only mutate the best individual to generate n_pop new individuals.

Return type:

list[HSEvoIndividual]

random_select(population)[source]

Random selection, select individuals with equal probability.

Parameters:

population (list[HSEvoIndividual])

Return type:

list[HSEvoIndividual]

response_to_individual(response, name, messages=None)[source]

Convert response to individual

Parameters:
Return type:

HSEvoIndividual

responses_to_population(responses, try_hs_idx=None)[source]

Convert responses to population. Applied to the initial population.

Parameters:
Return type:

list[HSEvoIndividual]

save_log_population(population, logHS=False)[source]
Parameters:
Return type:

None

sel_individual_hs()[source]
Return type:

str

update_harmony_memory(population_hs, harmony_memory, new_harmony, func_block, parameter_ranges, try_hs_idx)[source]
Parameters:
Return type:

tuple[list[HSEvoIndividual], ndarray]

update_iter()[source]

Update after each iteration

Return type:

None

class llamda.ga.hsevo.hsevo.HSEvoConfig(max_fe: int = 450, pop_size: int = 10, init_pop_size: int = 30, mutation_rate: float = 0.5, hm_size: int = 5, hmcr: float = 0.7, par: float = 0.5, bandwidth: float = 0.2, max_iter: int = 5)[source]

Bases: object

Parameters:
bandwidth: float = 0.2
hm_size: int = 5
hmcr: float = 0.7
init_pop_size: int = 30
max_fe: int = 450
max_iter: int = 5
mutation_rate: float = 0.5
par: float = 0.5
pop_size: int = 10
class llamda.ga.hsevo.hsevo.HSEvoIndividual(name: str | None = None, code: str | None = None, exec_success: bool | None = None, obj: float | None = None, traceback_msg: str | None = None, tryHS: bool = False)[source]

Bases: Individual

Parameters:
  • name (str | None)

  • code (str | None)

  • exec_success (bool | None)

  • obj (float | None)

  • traceback_msg (str | None)

  • tryHS (bool)

tryHS: bool = False
llamda.ga.hsevo.hsevo.extract_to_hs(input_string)[source]
Parameters:

input_string (str)

Return type:

tuple[dict | None, str | None]

llamda.ga.hsevo.hsevo.format_messages(pre_messages)[source]
Parameters:

pre_messages (dict)

Return type:

list[dict]

Module contents