Nameble Capacity Constraints

This relates to the following PR:

I thought I’d take a step back and explain why I wanted named constraints.

I have a long list of products that can be packed onto a vehicle. Some of the products can be nested. We have a fairly straight-forward set of rules that determines how much space/volume a set of product takes.

My idea was to use our (non-numeric) product id as constraint key and the product demand (number of products) as value. A custom constraint class can then do the necessary calculations.

We already use the Jsprit XML as our input/output. I wanted to update the official XML and make as few changes as possible to accommodate this approach. In my opinion the resulting named constraints make the XML more readable but @stefan is concerned about the performance impact.

The other option is to add XML support for the new custom user data that landed in v1.7.2 and then specify the products in there. Something like:

  <item key="product_id_1">25</item>
  <item key="product_id_2">12</item>

I’d be happy to hear suggestions and opinions.