The translation has been made by Svetoslav Slavkov. We are grateful for his help on improving our programs.
Archive for the ‘Real Cut 1D’ Category
Bulgarian translation is available
Thursday, August 8th, 2013Real Cut 1D 10
Saturday, July 20th, 2013We have just released version 10 of our linear optimization software.
We have a lot of new things and improvements here:
– fractional input (now you can enter the data either as real values: 100.5 or as fractional ones: 100 1/2)
– advanced import from Excel: you can choose what is on each column of your table, you can also skip rows etc.
We invite you to test this new version …
How to contact us!
Saturday, December 22nd, 2012Preferred contact address: contact@optimalprograms.com
We usually answer all emails in max. 24 hours since their receipt.
If you do not receive an answer from us it means that your server blocks our email address !
Also, please check your Spam or Junk folders … in some cases our messages arrive there.
Also, you may add our address to your Contacts list.
We DO NOT send unsolicited emails … we are not spammers … so the problem is in your server only! Please contact your email provider to fix that !
Alternately you may contact us at:
or
You can also fax us at: 0040358814190, but we usually do not send faxes back to you.
Migrating to Real Cut 1D version 9
Saturday, May 19th, 2012In version 9 of the Real Cut 1D we have changed the order of columns for Demand parts. We did that in order to improve data exchange with Excel.
If you previously saved your data in native files (with extension 1d) you dont have to do anything. Real Cut 1D knows how to load its own files.
However, if you did saved your data in csv or excel files, you will have to modify them by reordering the columns.
Here is what you have to do:
– open the csv or xls file in Excel.
– move the angle1 and angle 2 columns at the right of the existing columns.
– delete the empty columns 3 and 4 which have resulted as effect of moving columns with angles.
– exchange the height column with quantity column.
Here is an example:
– csv file from version 8 or less:
Length;Height;Angle1;Angle2;Quantity;Material;Label
1000;0;90;90;5;wood;john
2000;0;90;90;12;wood;mike
in version 9 this becomes:
Length;Quantity;Height;Material;LabelAngle1;Angle2
1000;5,0;wood;john;90;90
2000;12;0;wood;mike;90;90
Pay a special attention to list separator. In some regions the separator is “,”. In some others is “;”. If the separator is incorrectly set you will get an error.
You may change the separator from menu Start  Control panels  Region and language  Additional settings List separator of the Windows 7.
Speed test for 1d optimization
Sunday, April 29th, 2012We have reduced the running time of 1d optimization for large data. Here is a test with RealCut1D which has to cut 174000 demand parts from 200000 inventory bars.
The optimization took only 0.33 seconds, however in the enduser software (Real Cut 1D) few more seconds are needed to compute all statistics and to display the results.
About the cutting and nesting optimization problem
Sunday, October 17th, 2010The cutting optimization problem belongs to the class of Nondeterminist Polynomial Complete (NPComplete) problems [1]. Other problems in this class are the Hamiltonian path, Travelling Salesman, Subset sum, Clique, Independent set, Graph colouring etc. All these problems have been deeply analyzed by a huge number of researchers, but no polynomialtime algorithm was discovered for them. This has a direct consequence over the running time and the quality of the optimization.
A polynomialtime algorithm is that one whose running time is bounded by a polynomial function of its input size. For instance, if we have n = 1000 pieces to cut and the cutting algorithm would have the complexity O(n^{2}), then the running time would have been directly and linear proportional to 1000^{2} which is (10^{6}) units of time. Assuming that our computers can perform 10^{9} operations per second, the cutting optimization algorithm would run in less than a fraction of a second. Sadly, this is not the case for the cutting optimization problem. There is no such fast algorithm for solving it.
The only perfect algorithm for solving the cutting optimization problem is an exponential one. An exponential algorithm will run in an exponential amount of time (2^{n}, 3^{n}, n! – where n is the number of pieces to be optimized). Thus, even for small instances (lets say 1000 pieces) an exponential algorithm will run as follows:

These algorithms run in an impressive number of years. Even if we put all computers in the world to solve the problem in parallel we still don’t get a significant improvement in speed.
This is why another possibility (which is employed by our software too) is to use heuristics or approximation algorithms. A heuristic is an algorithm which is fast and returns a good solution (often the best one) of the problem. However,there is no guarantee that the obtained solution is the optimal one.
An important parameter of the software is the OptimizationLevel. This will basically tell how many configurations are explored before the best found solutions is outputted. If you set the OptimizationLevel to very low value you will obtain a solution very fast. But the quality of the solution might be not so good. If you set the OptimizationLevel to very high value you will obtain a good solution but not so fast. Thus, one must employ a tradeoff between the quality of the solutions and the running time.
References
[1]. Garey, M.R., Johnson D.S., Computers and Intractability: A Guide to NPcompleteness, Freeman & Co, San Francisco, USA, 1979.