Given a set of points S in the plane, it is natural to ask for the polygon that uses all these points as vertices and that is minimal or maximal with respect to covered area or length of the boundary. By distinguishing between simple and general polygons this results in 8 different problems.
The minimum boundary simple polygon is equivalent to the Traveling Salesman Problem (TSP) and therefore NP-hard. Fekete proved that computing a simple polygon with maximum or minimum area is also NP-hard. The same also holds for general polygons with maximum or minimum area. In a recent paper of Fekete et al. NP-hardness was proven for computing non-simple polygons with minimum boundary. However, it is unknown if computing a (simple) polygon with maximum boundary is NP-hard.
When computing a polygon we work on a complete oriented graph of the point set S where the edges get some weights, e.g. the Euclidean distance between each point for optimizing the boundary of the polygons. In case we want to optimize the area of the polygon, we compute for each edge the area of the triangle that the edge forms with a reference point. If the edge has a Right-To-Left orientation relative to the reference this is the weight of the edge or otherwise we count the area negative. This way, the sum of all used edges is the area of the polygon as depicted in the figure below.
Now, with correct edge weights, we can formulate an Integer Program (IP) seen below. With (1) we ensure that the polygon will have optimized boundary or area. To get a polygon we want to have one incoming and one outgoing edge at each vertex (2). Then we need to take care of non-crossing edges (3)-(4). With these constraints we may get disjoint cycles, hence, we would not have a valid polygon. To avoid those cycles, we add the constraint (5). Because there are up to exponential many cycles, we add the cycle elimination constraints in so called separation steps.
With this IP we can generate polygons with optimized boundary or area. To solve such an IP we use CPLEX in C++. Below you can see an instance which has different solutions for all eight problems.
There are still some open problems:
Keine Einträge gefunden. |
Ist hier derzeit keine offene Arbeit zu vergeben? Oder interessiert dich das Projekt, aber es ist einfach nicht das richtige Thema für dich dabei? Dann wende dich einfach direkt an uns! Wir haben laufend Ideen für mögliche Themen in verschiedenen Bereichen, die aber vielleicht im Moment noch nicht zu einer konkreten Aufgabenbeschreibung ausgearbeitet sind. Vielleicht finden wir dann gemeinsam auch für dich eine passende und interessante Aufgabe.
Keine Einträge gefunden. |
Name | Telefon | Raum | |
---|---|---|---|
Andreas Haas | haas[[at]]ibr.cs.tu-bs.de | ||
Dr. Dominik Krupke | krupke[[at]]ibr.cs.tu-bs.de | +49 531 3913112 | 317 |
Dr. Arne Schmidt | aschmidt[[at]]ibr.cs.tu-bs.de | +49 531 3913115 | 333 |
Bei weiteren Fragen wenden Sie sich bitte an die Projektmitglieder.
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
Postfach: 38092 Braunschweig
Telefon: +49 (0) 531 391-0