  In order to focus hard X- and gamma-rays it is possible to make use of a Laue
lens as a concentrator. With this optical tool it would be possible to improve
the detection of radiation for several applications, spanning from the
observation of the most violent phenomena in the sky to nuclear medicine
applications, for diagnostic and therapeutic purposes. A code named LaueGen,
based on a genetic algorithm and aimed to designing optimized Laue lenses, has
been implemented. The genetic algorithm was selected because the optimization
of a Laue lens is a complex and discretized problem. The output of the code
consists in the design of a Laue lens composed of diffracting crystals selected
and arranged in such a way to maximize the performance of the lens. The code
allows one to manage crystals of any material and crystallographic orientation.
The program is structured in such a way that the user can control all the
initial parameters of the lens. As a result, LaueGen is highly versatile and
can be used for the design of very small lens, e.g. for nuclear medicine, to
very large lens, e.g. for satellite-borne astrophysical missions.
