2,639 views ·
19 replies
3k views
19 replies
Virkeskalkyl.se
To really create a good service you should
- let the person choose board dimensions (45x195 or ....)
- enter lengths and/or total meters
- let the person enter their postal code
- connect the service to local construction companies' inventories and prices to recommend where to buy cheapest or where it is in stock
- print or email a shopping list
This way, it becomes a more complete service..
- let the person choose board dimensions (45x195 or ....)
- enter lengths and/or total meters
- let the person enter their postal code
- connect the service to local construction companies' inventories and prices to recommend where to buy cheapest or where it is in stock
- print or email a shopping list
This way, it becomes a more complete service..
As it is built now, the app tries to update the calculation every time you make a change to a field as long as the row is complete/correct. It works better in theory than in practice, we've noticed, so we should probably review that handling.H halj said:Nice! I'm experiencing some web issues. It doesn't seem to want to update if I delete old fields-
It would be really nice if it could mix sizes.
For example, in this case, it would have been better to take 8 at 3000mm and 2 at 3400mm?
[image]
One should have some form of optimization algorithm, my math is a bit rusty but should be able to set up a problem like
Y1 = a*x1 +b*x2 = 3000*x1+3400*x2 # Length of available board * amount
Y2= A*y1+B*y2 = 3000*10 +3300*2 # Number of boards needed * length
and then calculate the minimum of the function Y1-Y2
With the condition that Y1 >=Y2
and some more conditions like A<a to only approve full lengths of the wood.
NOTE this is really not thought through or barely useful, etc. Someone who knows optimization can probably solve this quite easily.
Mixing sizes is on the list of things we are working on. The effort to do it completely correctly felt disproportionately large compared to the value of it for the first version. But your suggestion felt like it might be a smarter track than what we were on. Thanks for that!
Great suggestion!mathiash77 said:To really create a good service, you should
- allow the person to choose board dimensions (45x195 or ….)
- enter lengths and/or total meters
- allow the person to enter their postal code
- connect the service to local construction companies' inventory and prices to recommend where to buy cheapest or where it's in stock
- print out or email a shopping list
This way it becomes a more complete service..
We've been pondering creating some kind of project management that can handle several different dimensions, and it should be relatively easy to also make it possible per dimension to choose to specify lengths or total meters.
Connecting the service with local construction companies is kind of a dream scenario, but my impression is that the construction companies barely have a handle on their own websites regarding what they have in stock. But it would be an interesting avenue to investigate!
Some form of shopping list is in the plan!
I thought this was a pretty interesting problem, so I read a bit about it. It seems to be a classic optimization problem known as the "Cutting stock problem," which originally refers to cutting paper sheets with minimal waste. In your case, you have a 1-dimensional cutting stock problem since it's only lengths that are involved. Optimizing this with just a single fixed length to start with is quite easy, but when there are several available lengths to mix, it becomes more complex quickly. I found a guide for this problem that fits quite well with your case, but my math is way too rusty for this. https://download.aimms.com/aimms/download/manuals/AIMMS3OM_CuttingStock.pdfMikael Wallin said:
As it is built now, the app tries to update the calculation every time you make a change to a field as long as the row is complete/correct. We have noticed that this works better in theory than in practice, so we should probably review that handling.
Mixing sizes is on the list of things we are working on. We felt the effort to do it completely correctly was unreasonably large in relation to its value for the first version. But your suggestion felt like it might be a smarter path than the one we were on. Thanks for that!![]()
Thanks!H halj said:I thought this was quite an interesting problem, so I read a bit about it. It seems to be a classic optimization problem referred to as the "Cutting Stock Problem," which originally involves cutting sheets of paper with minimal waste. In your case, you have a 1-dimensional cutting stock problem as it only involves lengths. Optimizing this with just a fixed length to start from is quite easy, but when there are multiple available lengths to mix, it becomes more complex. I found a guide for this problem that matches your case quite well, though my math is far too rusty for this. [link]
I skimmed through it and realized that my math isn't quite there either... But I will read through it more carefully at some point and see if we can use it as a basis for a better algorithm!
Click here to reply