Bag of
Snakes
The first design example might be typical of an industrial
or aerospace problem, and is setup as follows:
- There are 25 tubes, each consisting of alternating
straight, bend, straight, etc. segments.
- The starting point of the 25 tubes is a 5 by 5 regular
grid on the yz plane. The ending points are 25
random locations on a 5 by 5 regular grid at 90 degrees
(on the xz plane). For each tube ending location
there are 6 location and direction objectives (xyz
location and xyz direction vector), for a total of 150
objective parameters.
- Each tube consists of 4 bend segments and 5 straight
segments.
- Each bend segment is 3 variables (bend radius, arc angle
and rotation).
- Each straight segment is 1 variable (length).
- Therefore there are 17 variables per tube and 25 tubes
for a total of 425 variables. Each
variable is also constrained to be a min/max length,
radius, arc angle, rotation, so there are also 425
variable constraints.
- In this example, each tube is also constrained to a
total length so there are 25 length constraints.
The software allows length to be defined on individual,
groups or all tubes, or can be a variable or statistical
property such as variance (all tubes should end up being
the same length).
- The space constrains are a box shown as the 3d area in
the plots. In other problems space constraints can
be setup as any combination of planar and point obstacles.
- With 25 tubes, there are 325 permutations of
tube-to-tube collisions:

The collision constraints are a very expensive
(n-squared) computation, so in this example, the
tube-to-tube collision calculations are ignored until the
xyz location and direction vector objectives are
small.
So, in this example, there are a total of 150 objectives,
425 variables, 450 constraints, and 325 collision
permutations.

Under Construction: Temporary Client Video Files
![]()
![]()
|