2 * Routines used for minimisation (only)
10 double compute_energy(const struct Vertices *vs);
11 void energy_init(void);
13 double graph_layout_cost(const Vertices v, int section);
14 void graph_layout_prepare();
16 void compute_vertex_areas(const Vertices vertices, int section);
17 void compute_edge_lengths(const Vertices vertices, int section);
19 extern double vertex_areas[N], vertex_mean_edge_lengths[N], edge_lengths[N][V6];
21 extern const double edge_angle_cost_circcircrat;
23 double vertex_displacement_cost(const Vertices vertices, int section);
24 double line_bending_cost(const Vertices vertices, int section);
25 double noncircular_rim_cost(const Vertices vertices, int section);
26 double edge_length_variation_cost(const Vertices vertices, int section);
27 double prop_edge_length_variation_cost(const Vertices vertices, int section);
28 double rim_proximity_cost(const Vertices vertices, int section);
29 double edge_angle_cost(const Vertices vertices, int section);
30 double small_triangles_cost(const Vertices vertices, int section);
32 extern const char *input_file, *best_file;
33 extern char *best_file_tmp;
34 extern long long evaluations;
35 extern double stop_epsilon;
37 enum printing_instance { pr_cost, pr_size, pr__max };
38 int printing_check(enum printing_instance, int indent);