10

I'm am quite new to deep learning but I think I found just the right real-world situation to start using it. The problem is that I have only used such algorithms to predict outcomes. For my new project, I need information to feed a machine with to optimize outcomes. Could someone explain briefly how I should proceed? I'm stuck.

Here's the situation:

I have a machine that takes planks of wood with different grades of wood available throughout its length and has to cut it into blocks provided in a cut list. This machine will always choose the highest score it can get from a given plank. The score is obtained by multiplying each block's area by its multiplicator. The algorithm I want to build has to give that machine a multiplicator for each block listed in a cut list. All of the physical output from this machine will be stocked on shelves by a robot until needed. The cutting machine is allowed to downgrade parts of a plank if it helps it reach a higher score.

The value has to act as an incentive for the machine to give me the block I need the most without downgrading too much wood.

OPTIMIZATION GOALS

  • Make sure each block is in stock by the time it is needed, but not too early without reason
  • Downgrade as little area of wood as possible (some species are very expensive)

INPUT NODES

  • Amount of time before this block is needed
  • Grade of wood for this block
  • Amount of this block needed
  • Block's area (Maybe?)

FEEDBACK PROVIDED TO THE ALGORITHM

  • Amount of time in advance that the block was ready (must be as low as possible)
  • Area of wood downgraded * number of grades skipped

EXPECTED RETURN DATA

  • A multiplicator that will give that block an optimal its priority relative to others

INFORMATION I DON'T HAVE BUT COULD GATHER

  • Mean ratio of each grade for each species of wood

What I've figured out so far is that I may need my feedback to be smashed in only one value in order to make it the output node. The problem is that I can't understand how to make this algorithm to determine a multiplicator. Am I wrong in trying to solve this through deep learning?

1 Answers1

2

Deep learning models for regression tasks are quite difficult to train so I would suggest not to start with them. Instead I would start with one of the approaches below and maybe try to use deep learning afterwards.

A classical approach to the problem could be to analyze your optimization software and this would probably lead you to some deterministic algorithm.

Different approaches can be to treat your optimization software as a black box - give it a wide variety of inputs, note down the variables you are interested in (execution time, cutting results, etc.) and try to fit some sort or regressor on it.

One option is to follow Kourosh's idea and formulate it as a classical optimization problem.

If you prefer to use machine learning tools than I'd suggest that you start with a simple model like linear regression just to verify that there is any signal in the data that you can use. Afterwards you can look at more powerful algorithms like xgboost, regression trees, etc.

ginge
  • 146
  • 3