I have an optimization problem and I'm thinking about employing machine learning methods to resolve it.
The goal is to find optimal luggage load in the plane. The luggage has size, weight and some other attributes restricting the place where it can be put. There's some strict rules (e.g. some kind of baggage needs to be in front of the luggage department, some cannot be placed near the other, heavy ones should be on the bottom etc.) and some conditions have to be met at the end - the weight should be evenly distributed, all luggage needs to fit inside.
There're also some undocumented ("common sense") rules that are applied by people responsible for loading the luggage. Those could be derived basing on available examples.
I was thinking about training Neural Network basing on the examples. I looked at http://neuroph.sourceforge.net/sample_projects.html but couldn’t find the sample that could be modified for my domain. Also, I’m not sure if this is the right method for this problem category.
Here's a simplified example. Let's say a piece of baggage is described by 3 attributes:
- weight
- stiffness
- type
Sample data:
B1 (20kg, soft, normal)
B2 (20kg, hard, normal)
B3 (40kg, hard, normal)
B4 (50kg, hard, normal)
B5 (20kg, soft, special)
There's 6 slots in the luggage department (S1-S6, S1 - front, S6 - back). Example rules:
- the heaviest load should be placed as close to the middle of department as possible.
- the special ones should be at the back
- common sense rule (not documented) - the soft baggage shouldn't be placed between hard ones
One of the correct outputs is:
S1->B1 (normal but soft, so it's not between B2 and B4)
S2->B2 (normal)
S3->B4 (heavy - in the middle),
S4->B3 (heavy - in the middle),
S5->B5 (special - at the back)
Representing the output in normalized form required by NN is tricky. I'm wondering if NN is a good method for this problem at all. Maybe some other should be used (e.g. Reinforcement Learning)
What machine learning method(s) could be used to find the optimal luggage load?