Optimierungsproblem: Wie viele Rechtecke passen in ein größeres Rechteck?


08.12.2022, 14:41

Die kleinen Rechtecke dürfen sich nicht überlappen und dürfen nicht überstehen.

AlexausBue  08.12.2022, 14:30

Dürfen sich die kleineren Rechtecke überlappen?

Watches 
Fragesteller
 08.12.2022, 14:35

nein

Spikeman197  08.12.2022, 14:30

a ist aber in der Skizze die längste Kante.

a>b, a>c, a>d und

b>c, b>d

Watches 
Fragesteller
 08.12.2022, 14:36

sorry der Part war falsch ich bearbeite die Frage entsprechend. Richtig ist c<=d; c<=b; c>=a und d<=a; d<=b

LoverOfPi  08.12.2022, 14:43

Sind a,b,c,d aus N oder R?

Watches 
Fragesteller
 08.12.2022, 14:46

Q (rationale Zahlen)

2 Antworten

Von Experte Jangler13 bestätigt

Es gibt bis heute keine geschlossene Lösung für dieses Problem. Es gibt zwar Algorithmen mit der du das "Packmuster" bestimmen kannst, aber es gilt als np-Problem und wird für "große" Rechtecke in das "kleinere" hinein sollen immer schwerer zu lösen (und damit braucht der Alg. immer länger).

Wie hier schon erwähnt kannst du aber über

die abgerundete Division

Flächeninhalt Großes Rechteck / Flächeninhalt kleines Rechteck,

die maximale Anzahl bestimmen.

Nun, ein Ansatz auf den du sicher auch gekommen bist, wäre erstmal

(a*b)/(c*d) zu rechnen und das Ergebnis auf die nächstkleinere natürliche Zahl abzurunden. Damit hast du schon mal eine obere Schranke.

Dann würde ich (ich habe das noch nicht komplett durchdacht -> Sitze im Bus und die Gedanken schweifen ständig zur nächsten Klausur morgen) die seiten anschauen. Teile beispielsweise a/c. Runde auch hier das Ergebnis auf die nächstkleinere natürliche Zahl -> n und du erhältst dein Ergebnis, wie du möglichst viele Rechtecke nebeneinander legen kannst. Berechnest du dann noch simultan b/d -> m, und multiplizierst m und n hast du schon mal eine maximale Anzahl der kleinen Rechtecke, die du in das große packen kannst. Allerdings wird hier nicht die Rotation beachtet, die natürlich bei sehr kleinen, sehr dünnen Rechtecken definitiv als Lückenfüller dienen kann.

Du könntest dann noch betrachten, ob die Anzahl m*n nahe der Obergrenze liegt und abschätzen, ob du vielleicht mit irgend einer Rotation mehr rein bekommst.