2013
DOI: 10.1007/978-3-642-37207-0_12
|View full text |Cite
|
Sign up to set email alerts
|

Program Optimisation with Dependency Injection

Abstract: Abstract. For many real-world problems, there exist non-deterministic heuristics which generate valid but possibly sub-optimal solutions. The program optimisation with dependency injection method, introduced here, allows such a heuristic to be placed under evolutionary control, allowing search for the optimum. Essentially, the heuristic is "fooled" into using a genome, supplied by a genetic algorithm, in place of the output of its random number generator. The method is demonstrated with generative heuristics i… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
5
0

Year Published

2015
2015
2019
2019

Publication Types

Select...
3

Relationship

2
1

Authors

Journals

citations
Cited by 3 publications
(5 citation statements)
references
References 15 publications
0
5
0
Order By: Relevance
“…Analogously to the old method, the new method repairs the type of an entry when a mismatch is encountered, however the value at that entry is kept (not re-sampled) if that value could have been obtained by running the elementary random function linked with the new entry type. For example, if the type and value of an entry in the trace is random.choice( [1,2,3]) : 2 and the required type from that generator is random.choice( [2,3,4]), the value 2 at that entry can be "recycled" as it could have been obtained from random.choice( [2,3,4]), and only the type of the entry is amended, giving random.choice ([2,3,4]…”
Section: New Repair Methods In Ptomentioning
confidence: 99%
See 1 more Smart Citation
“…Analogously to the old method, the new method repairs the type of an entry when a mismatch is encountered, however the value at that entry is kept (not re-sampled) if that value could have been obtained by running the elementary random function linked with the new entry type. For example, if the type and value of an entry in the trace is random.choice( [1,2,3]) : 2 and the required type from that generator is random.choice( [2,3,4]), the value 2 at that entry can be "recycled" as it could have been obtained from random.choice( [2,3,4]), and only the type of the entry is amended, giving random.choice ([2,3,4]…”
Section: New Repair Methods In Ptomentioning
confidence: 99%
“…The idea of using such a sequence of decisions as a genotype was introduced in the Program Optimisation with Dependency Injection (PODI) system [3]. The generators used varied from uniform sampling of the space for symbolic regression problems, to initialisation operators from previous metaheuristic research in communications network design, re-purposed as generators, to idiosyncratic hand-written code originally intended only as a tool for random generation of 3D structures.…”
Section: Hill-climbermentioning
confidence: 99%
“…This makes the user interface unobtrusive and the learning curve flat, and allows for reuse of existing code, e.g. EA initialisation methods or constructive heuristics as generators (as in PODI [6]). Tracer: The tracer interfaces to the problem definition by tracing the generator when it is run, and playing back modified traces in the generator.…”
Section: Pto Software Architecturementioning
confidence: 99%
“…PTO builds on and combines previous ideas. The idea of using a sequence of decisions as a genotype was originally introduced in the Program Optimisation with Dependency Injection (PODI) system [6], with emphasis on using it with complex and smart generators, to evolve complex constrained structures. PODI is similar to the decision chain encoding [5].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation