Answers.Body: <p>a subset of your problem is <a href="https://onlinelibrary.wiley.com/doi/abs/10.1111/itor.12099" rel="nofollow noreferrer">pallet-loading</a> (you can find a survey <a href="https://dialnet.unirioja.es/descarga/articulo/5403327.pdf" rel="nofollow noreferrer">here</a> about it). Yet, there is not any polynomial algorithm for an even simpler case of your problem such as pallet-loading. However, different planners in <a href="https://en.wikipedia.org/wiki/Automated_planning_and_scheduling" rel="nofollow noreferrer">automated planning</a> contexts can be helpful and give you some heuristics to solve the problem, some planners like <a href="https://fai.cs.uni-saarland.de/hoffmann/ff.html" rel="nofollow noreferrer">Fast Forward</a>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-07-30T20:38:55.173Z
Answers.LastActivityDate: 2021-07-30T20:38:55.173Z
Answers.UserDisplayName: OmG
Body: <p>I'm trying to make a program that takes a surface designed by the user, and different 3D geometries from a dataset as inputs and gives a good approximation of the surface using only the objects found in the dataset. This program shouldn't do any warping, and should avoid geometries to collide, even though cutting them could be acceptable, but again with as little loss as possible.</p>
  <p>I thought about hardcoding this, but I can't find any good way to optimize the surface coverage without brute-forcing it. I'm wondering what ML techniques would be best for this, and how to find a good balance between precision and speed.</p>
  
Tags: <optimization>
Title: Cover a surface with smaller predefined objects
UserDisplayName: Maxime Renault
ThreadText: # Cover a surface with smaller predefined objects
  
  (Asked by: username_0 on 2021-07-30)
  
  I'm trying to make a program that takes a surface designed by the user, and different 3D geometries from a dataset as inputs and gives a good approximation of the surface using only the objects found in the dataset. This program shouldn't do any warping, and should avoid geometries to collide, even though cutting them could be acceptable, but again with as little loss as possible.
  
  I thought about hardcoding this, but I can't find any good way to optimize the surface coverage without brute-forcing it. I'm wondering what ML techniques would be best for this, and how to find a good balance between precision and speed.
  
  **Tags:** optimization
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2021-07-30. Score: 1
  
  a subset of your problem is [pallet-loading](https://onlinelibrary.wiley.com/doi/abs/10.1111/itor.12099) (you can find a survey [here](https://dialnet.unirioja.es/descarga/articulo/5403327.pdf) about it). Yet, there is not any polynomial algorithm for an even simpler case of your problem such as pallet-loading. However, different planners in [automated planning](https://en.wikipedia.org/wiki/Automated_planning_and_scheduling) contexts can be helpful and give you some heuristics to solve the problem, some planners like [Fast Forward](https://fai.cs.uni-saarland.de/hoffmann/ff.html).
  
  
  ---
  
  