
        -----------------------------------------------------------
        Optimum cutting schedule for materials of standard lengths.
        -----------------------------------------------------------

         !!!!  A long awaited program is available at last.  !!!!

                 -----------------------------------------
                 A blessing for the Construction industry.
                 -----------------------------------------


         Document file for Cutting Wizard 3.0 ( Evaluation Copy )
         Copyright (c) 1997 - April 1999, by M. Nimal Gunarathne.
         --------------------------------------------------------


  =========================================================================

                               Getting  Started

  =========================================================================


  Brief description
  -----------------

  If you are engaged either in Construction,  Cutting Standard  Lengths  of
  material  to  smaller  lengths  needed  (  eg.    Bar  Schedules ), or in
  Estimation of required Standard  Lengths  of  materials to be ordered for
  various projects, then this super program is especially for you.

  The materials and the form of standard lengths concerned  may  vary  from
  Steel,  Iron,  Timber,  bars,  flat Iron,  channels, rods, columns, pipes
  ,Steel angles to beams or any other kind of linear items..


    ------------------------------------------------------------------
    You will experience DRASTIC REDUCTIONS in Cost and Material Waste.
    ------------------------------------------------------------------


   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    An average user will RECOVER THE COST OF THE PROGRAM  in less than
     TEN INSTANCES OF USE.  A heavy user might do so at the first use.

   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    This is the ONLY program available of this type in the whole World.
    -------------------------------------------------------------------

     ( Except for my own early MSDOS version named "Best Cutter".   )
     ( An Evaluation copy of this is available at following sites.  )
     ( http://www.simtel.net/pub/simtelnet/msdos/engin/bc-07100.zip )
     ( ftp://ftp.simtel.net/pub/simtelnet/msdos/engin/bc-07100.zip  )





  Detailed  description
  ---------------------

  Let  us  consider  a  real life example.   For a certain project you need
  different lengths of Aluminium members having a particular cross section.
  The required lengths and  the  quantities  from  each  length is given in
  table - 1.

  When you inquire from the Aluminium suppliers you learn  that  there  are
  several  sizes  of standard lengths available having the particular cross
  section.   The sizes of available standard lengths,  and their respective
  prices are given in table - 2.

                 Table - 1                     Table - 2
                 ---------                     ---------

          .--------------------.        .---------------------.
          | Length  | Quantity |        |  Length  |  Price   |
          |(Metres) | required |        | (Metres) | ( US$ )  |
          |--------------------|        |---------------------|
          |   1.7   |     84   |        |   6.1    |   30.4   |
          |   2.3   |    121   |        |   5.5    |   27.5   |
          |   1.5   |     67   |        |   4.6    |   22.3   |
          |   0.8   |     90   |        |   4.3    |   20.1   |
          |   1.1   |     65   |        |   3.7    |   18.6   |
          |   1.3   |    119   |         ---------------------
          |   3.1   |    114   |
          |   0.6   |    191   |
           --------------------

  NB -   The program is independent of units.  We are using Metres and US$
         as  an example.  It can be any linear & currency units.

  As an intelligent user you would like to minimize the cost involved.
  --------------------------------------------------------------------

  Therefore at this moment  you  would  like  to know the following details
  before placing the order for the material.

  1.  The number of standard lengths to be purchased,  from  each  type  to
      minimize the cost.

  2.  How  to  cut  these  standard lengths bought,  to obtain the required
      pieces ( Bar schedule ) with minimum wastage.

  Now you are facing  an  extremely  complex  mathematical problem.   To my
  knowledge there is no any known mathematical method or procedure to solve
  this kind of problem.

  The only (im)possible way of doing this is to consider all  the  possible
  ways  of buying the standard lengths,  and then consider all the possible
  ways of cutting the required  pieces  from  the standard lengths and find
  the optimum solution.   There could be billions of combinations to select
  and check.

  If you try to find this answer manually,  you will get tired of doing the
  tedious,  repetitive mathematical calculations.   Most probably you  will
  not try this method.  Honestly I am not any better than you, in doing it.


  Due  to the above mentioned difficulties,  this "bar cutting problem" has
  lived far too a long time in the history without a proper solution.  As a
  result the average percentage of money  and material loss involved in bar
  cutting, generally lies between 5 - 15 %.

  Use of this software will allow  you  to  eliminate  all  possible  waste
  involved  in  bar  cutting.    This will enable your Organization to make
  considerable savings as well as be ahead of competition.

  I am more than  delighted  to  introduce  this  program for achieving the
  optimum solution.

  -------------------------------------------------------------------------
                           A Wizard to help you.
                           ---------------------

  The "Cutting Wizard" can answer all the above questions  and  can  handle
  many other more complicated situations too.

  When  you  run the program and enter the relevant details of the standard
  lengths and the  bar  schedule,   the  program  will  give you a detailed
  schedule of materials to be purchased and the  instructions  for  cutting
  them to obtain your requirement.

  Let us check the Wizard's  solution for the above mentioned problem.
  --------------------------------------------------------------------

     STANDARD LENGTHS    CUTTING DETAILS
     ----------------    ---------------

     Length  Quantity    Num. x Length
        (Price)(Total)
     ----------------    -----------------------------------------
         6.1        1       4 x    1.3    1 x     .8
        (30.40)(    1)

         5.5        2       4 x    1.3
        (27.50)(    2)

         4.6       19       1 x    3.1    1 x    1.5
         4.6       60       2 x    2.3
         4.6        1       1 x    2.3    1 x    1.7    1 x     .6
        (22.30)(   80)

         4.3       95       1 x    3.1    2 x     .6
         4.3       48       1 x    1.7    1 x    1.5    1 x    1.1
         4.3       35       1 x    1.7    2 x    1.3
         4.3        8       1 x    1.3    2 x    1.1    1 x     .8
        (20.10)(  186)

         3.7        1       2 x    1.3    1 x    1.1
         3.7       27       1 x    1.3    3 x     .8
        (18.60)(   28)
     ----------------    -----------------------------------------
     Method Used    => BA
     Total  Cost    =>         6128.80
     ----------------          =======

     Total waste      =>     Material = 0.7 Metre,  Money = 3.5  $

     Waste Percentage =>     Material = 0.05 %      Money = 0.06 %

  Consider  the each length group and the amounts given inside the brackets
  ().  These figures will give you all the necessary information to buy the
  required standard lengths for the project.


        .--------------------------------------------------------.
        |      Standard Lengths      |   Total       |           |
        |----------------------------|   Number of   |    Cost   |
        |   Length    |    Price     |   Lengths     |  ( US$ )  |
        |   (Metre)   |   ( US$ )    |   Required    |           |
        |----------------------------|---------------|-----------|
        |     6.1         (30.40)    |   (    1)     |     30.40 |
        |     5.5         (27.50)    |   (    2)     |     55.00 |
        |     4.6         (22.30)    |   (   80)     |   1784.00 |
        |     4.3         (20.10)    |   (  186)     |   3738.60 |
        |     3.7         (18.60)    |   (   28)     |    520.80 |
         --------------------------------------------------------
                                          Total Cost =>  6128.80
                                                         =======

  The lines with  "x"  marks  provide  the  cutting  instructions.   Let us
  consider several lines and learn the pattern.

  #########################################################################

  Line - 1

  Length  Quantity    Num. x Length

  ----------------    -----------------------------------------------------
  6.1        1       4 x    1.3    1 x     .8

  Take one length of 6.1 Metre and cut

                        4 No. of 1.3 Metre lengths and
                        1 No. of 0.8 Metre length.

  #########################################################################

  Line - 2

  Length  Quantity    Num. x Length

  ----------------    -----------------------------------------------------
      5.5        2       4 x    1.3

  Take 2 lengths of 5.5 Metre and cut

                        4 No. of 1.3 Metre lengths

                                        from each length.

  #########################################################################







  Line - 3

  Length  Quantity    Num. x Length

  ----------------    -----------------------------------------------------
      4.6       19       1 x    3.1    1 x    1.5

  Take 19 lengths of 4.6 Metre and cut

                        1 No. of 3.1 Metre length and
                        1 No. of 1.5 Metre length

                                        from each length.

  #########################################################################

  Line - 4

  Length  Quantity    Num. x Length
  ----------------    -----------------------------------------------------
      4.6       60       2 x    2.3

      Take 60 lengths of 4.6 Metre and cut

                        2 No. of 2.3 Metre lengths

                                        from each length.

  #########################################################################

  When you  execute  all  the  cutting  instructions  you  will  have  your
  requirement ( bar schedule ) ready.

  In  the  above example we discussed the cutting of only one type of cross
  section.   Let us consider the saving of money due to the use of "Cutting
  Wizard".

  In the manual selection method  your  solution could have a waste between
  5% - 15%,  and that could taken several hours of a  technical  person  to
  come up with a solution.

  In  the  solution  obtained through "Cutting Wizard" waste of material in
  terms of total length used is 0.05% and it took only few minutes.

  Approximately you have saved 600 US$ from this cutting session alone.

  *  How better you are now than manual method, in terms of Time & Money? *

  *******  Could you imagine the possible savings in big projects?  *******


  NB:    This evaluation version cannot be  used to verify the results of
         the  above example.  It can handle only four cutting items.

         Use the samples files ( sample*.pro ) provided and the problems of
         your own to test the program.   Try to find the answers  manually,
         and  then  compare  it  with  the  computer  solution  to  see the
         reduction in cost.



         ------------------------------------------------------------------

   ***   The percentage of waste decreases  with  the increase in number of
   ***   cutting items,  and  increased  quantity.    Therefore  the  waste
   ***   percentages  obtained  from  this  evaluation  version  ( which is
   ***   limited to four Standard  lengths  and  four cutting lengths ) may
   ***   not be that attractive.

         ------------------------------------------------------------------

         Never  come  to  the  wrong  conclusion  that  you  can  use  this
         evaluation version to handle a  long  list  of  cutting  items  by
         dividing  the  bar  schedule to smaller groups having four cutting
         items  in  each,   and  then  using  the  program  for  each group
         separately.

         It will be far less economical than the proper solution.

         If you wish to,  you can verify this buy doing it  for  the  above
         mentioned example which is having eight cutting items.

         Please note that there are many ways of dividing eight items in to
         two groups of four.

         ------------------------------------------------------------------

         If you wish to have  further  testing,  please e-mail your complex
         problems to me.   I will send you the answers free of charge.
         ( Limit : 4 problems )

         E-mail  ==>  nimalgm@sltnet.lk

         Some more examples are given below for your reference.




























Example - 1               Standard Lengths                 Bar Schedule
-----------            .---------------------.       .----------------------.
                       |  Length  |  Price   |       |  Length   | Quantity |
                       | (Metres) | ( US$ )  |       | (Metres)  | required |
                       |---------------------|       |----------------------|
                       |   6.0    |    20    |       |   1.87    |   98     |
                       |   5.4    |    18    |       |   1.14    |   65     |
                       |   4.8    |    15    |       |   0.94    |   67     |
                       |   4.2    |    14    |       |   1.65    |   87     |
                       |   3.6    |    12    |       |   0.55    |   32     |
                       |   3.0    |    11    |       |   2.12    |   51     |
                        ---------------------        |   1.17    |   42     |
                                                     |   3.70    |   78     |
                                                     |   2.33    |   53     |
                                                     |   4.11    |   81     |
                                                     |   4.20    |   62     |
                                                     |   4.30    |   27     |
                                                     |   5.40    |   27     |
                                                      ----------------------


STANDARD LENGTHS    CUTTING DETAILS        WASTE SUMMARY          06-Apr-1999
----------------    ---------------        -------------             08:16 PM

Length  Quantity    Num. x Length          No. Material   Total  Money  Total
   (Price)(Total)                          [x]    Waste   Waste  Waste  Waste
----------------    ---------------------  ----------------------------------
      6       11    1 x   4.3   1 x  1.65   11     0.05    0.55   0.17   1.87
      6       33    1 x  4.11   2 x   .94   33     0.01    0.33   0.03   0.99
      6       48    1 x  4.11   1 x  1.87   48     0.02    0.96   0.07   3.36
      6       32    1 x   3.7   2 x  1.14   32     0.02    0.64   0.07   2.24
      6       24    2 x  2.12   1 x  1.65   24     0.11    2.64   0.37   8.88
      6        1    1 x  2.12   2 x  1.87    1     0.14    0.14   0.47   0.47
      6       11    3 x  1.87               11     0.39    4.29   1.30  14.30
   (20.00)(  160)

    5.4       27    1 x   5.4
    5.4       16    1 x   4.3   2 x   .55
    5.4       45    1 x   3.7   1 x  1.65   45     0.05    2.25   0.17   7.65
    5.4        1    2 x  2.12   1 x  1.14    1     0.02    0.02   0.07   0.07
    5.4        7    2 x  1.87   1 x  1.65    7     0.01    0.07   0.03   0.21
   (18.00)(   96)

    4.8        1    1 x   3.7   1 x   .94    1     0.16    0.16   0.50   0.50
    4.8       21    1 x  2.33   2 x  1.17   21     0.13    2.73   0.41   8.61
    4.8       16    2 x  2.33               16     0.14    2.24   0.44   7.04
   (15.00)(   38)

    4.2       62    1 x   4.2
   (14.00)(   62)

      3        1    1 x  1.87                1     1.13    1.13   4.14   4.14
   (11.00)(    1)
----------------    ---------------------  ----------------------------------
Method Used    => A                        252            18.15         60.33
Total  Cost    =>     6377.00
----------------      =======              Waste Mat.= 0.94 %  Money = 0.95 %


Approximate saving  ==>  600 US$


Example - 2               Standard Lengths                 Bar Schedule
-----------            .---------------------.       .----------------------.
                       |  Length  |  Price   |       |  Length   | Quantity |
                       |   (ft)   | ( US$ )  |       |   (ft)    | required |
                       |---------------------|       |----------------------|
                       |    20    |   21.0   |       |    7.5    |   98     |
                       |    18    |   17.5   |       |    7.3    |   65     |
                       |    15    |   14.5   |       |    4.4    |   67     |
                       |    14    |   13.5   |       |    6.3    |   87     |
                       |    12    |   13.0   |       |    5.5    |   32     |
                        ---------------------        |    9.3    |   51     |
                                                     |    7.1    |   43     |
                                                     |    2.4    |   47     |
                                                     |    1.9    |   56     |
                                                     |    3.4    |   18     |
                                                      ----------------------



STANDARD LENGTHS   CUTTING DETAILS             WASTE SUMMARY      06-Apr-1999
----------------   ---------------             -------------         07:31 PM

Length  Quantity   Num. x Length               No. Mat.   Total  Money  Total
   (Price)(Total)                              [x] Waste  Waste  Waste  Waste
----------------   --------------------------- ------------------------------
     20        3   2 x  7.1  1 x  5.5            3  0.30   0.90   0.32   0.96
     20        6   2 x  5.5  2 x  4.4            6  0.20   1.20   0.21   1.26
   (21.00)(    9)

     18       33   1 x  9.3  1 x  6.3  1 x 2.4
     18       18   2 x  7.3  1 x  3.4
     18       27   1 x  7.3  1 x  6.3  1 x 4.4
     18       27   1 x  7.1  1 x  6.3  1 x 4.4  27  0.20   5.40   0.19   5.13
   (17.50)(  105)

     15       18   1 x  9.3  3 x  1.9
     15       49   2 x  7.5
     15       10   1 x  7.1  1 x  5.5  1 x 2.4
   (14.50)(   77)

     14        2   1 x  7.3  2 x  2.4  1 x 1.9
   (13.50)(    2)

     12        3   2 x  5.5                      3  1.00   3.00   1.08   3.24
     12        1   1 x  5.5  1 x  4.4            1  2.10   2.10   2.27   2.27
   (13.00)(    4)
----------------   --------------------------- ------------------------------
Method Used    => BA                            40        12.60         12.86
Total  Cost    =>   3222.00
----------------    =======                    Waste Mat.= 0.38 % Mon.= 0.40%







Approximate saving  ==>  300 US$



Example - 3               Standard Lengths                 Bar Schedule
-----------            .---------------------.       .----------------------.
                       |  Length  |  Price   |       |  Length   | Quantity |
                       |   (cm)   | ( US$ )  |       |   (cm)    | required |
                       |---------------------|       |----------------------|
                       |    660   |   46     |       |    330    |   51     |
                       |    600   |   42     |       |    325    |   67     |
                       |    540   |   38     |       |    455    |   87     |
                       |    480   |   33     |       |    186    |   30     |
                       |    420   |   29     |       |    210    |   72     |
                       |    360   |   24     |       |    135    |   66     |
                        ---------------------        |    175    |   88     |
                                                     |    145    |   67     |
                                                     |    245    |   61     |
                                                      ----------------------



STANDARD LENGTHS    CUTTING DETAILS        WASTE SUMMARY          06-Apr-1999
----------------    ---------------        -------------             08:30 PM

Length  Quantity    Num. x Length          No. Material   Total  Money  Total
   (Price)(Total)                          [x]    Waste   Waste  Waste  Waste
----------------    ---------------------  ----------------------------------
    660       25    2 x   330
    660       22    2 x   325               22    10.00  220.00   0.70  15.40
   (46.00)(   47)

    600       67    1 x   455   1 x   145
    600       20    1 x   455   1 x   135   20    10.00  200.00   0.70  14.00
    600        1    1 x   330   2 x   135
    600       22    1 x   325   2 x   135   22     5.00  110.00   0.35   7.70
    600        1    1 x   210   2 x   186    1    18.00   18.00   1.26   1.26
    600        5    3 x   186                5    42.00  210.00   2.94  14.70
   (42.00)(  116)

    540        1    1 x   325   1 x   210    1     5.00    5.00   0.35   0.35
    540       13    1 x   186   2 x   175   13     4.00   52.00   0.28   3.64
   (38.00)(   14)

    420       61    1 x   245   1 x   175
    420       35    2 x   210
   (29.00)(   96)

    360        1    1 x   175                1   185.00  185.00  12.33  12.33
   (24.00)(    1)
----------------    ---------------------  ----------------------------------
Method Used    => A                         85          1000.00         69.38
Total  Cost    =>    10374.00
----------------     ========              Waste Mat. = 0.67 %  Money= 0.67 %







Approximate saving  ==>  1000 US$



Example - 4                       Standard
-----------                       Lengths                  Bar Schedule
                                .----------.         .----------------------.
                                |  Length  |         |  Length   | Quantity |
                                |   (mm)   |         |   (mm)    | required |
                                |----------|         |----------------------|
                                |   6000   |         |    725    |    44    |
                                |   5400   |         |    730    |    63    |
                                |   4800   |         |    440    |    51    |
                                |   4000   |         |    630    |    23    |
                                |   3600   |         |    555    |    71    |
                                |   3000   |         |    935    |    26    |
                                 ----------          |    710    |    19    |
                                                     |    345    |    31    |
                                                     |    495    |    51    |
                                                     |    545    |    78    |
                                                      ----------------------



STANDARD LENGTHS    CUTTING DETAILS                             WASTE SUMMARY
----------------    ---------------                             -------------

Length  Quantity    Num. x Length                           No.  Mat.   Total
          (Total)                                           [x]  Waste  Waste
----------------    --------------------------------------  -----------------
   6000        1    6 x  710  1 x  630  2 x  555
   6000        1    3 x  710  3 x  630  4 x  495
   6000        1    1 x  555 11 x  495
          (    3)

   5400        1    1 x  710  3 x  555  1 x  545  5 x  495    1   5.00   5.00
          (    1)

   3600        2    2 x  710  4 x  545
          (    2)

   3000       13    2 x  935  1 x  440  2 x  345
   3000       31    2 x  730  1 x  555  1 x  545  1 x  440
   3000        1    1 x  730  1 x  725  1 x  555  2 x  495
   3000        5    2 x  725  1 x  710  1 x  495  1 x  345
   3000        7    2 x  725  2 x  555  1 x  440
   3000       19    1 x  725  1 x  630  1 x  555  2 x  545
   3000        4    6 x  495                                  4  30.00 120.00
          (   80)
----------------    --------------------------------------  -----------------
Method Used    => BA                                          5        125.00

----------------                                            Waste Mat.= 0.05%















  =========================================================================
                   User manual for "Cutting Wizard 3.0"
  =========================================================================


     ( Some details may not be relevant to the Evaluation version.   )
      --------------------------------------------------------------




                         TABLE  OF  CONTENTS
                         -------------------


                         1.0   An interesting  puzzle

                         2.0   A Wizard to help you

                         3.0   How to use the Wizard

                         3.1   Entering a problem

                         3.2   Selecting a "Run mode"

                         3.3   Finding the solution

                         3.4   Viewing the solution

                         3.5   Printing the solution

                         3.6   Saving a problem

                         3.7   Loading a problem

                         3.8   Entering a new problem

                         3.9   Exit the program

                         4.0   Exploring the solution

                         5.0   Configuring the program

                         6.0   Special  notes

                         7.0   About the author

                         8.0   History of program development

                         9.0   Distribution








  1.0  An interesting puzzle
       ---------------------

       This is a problem that lived far too long without a solution.

       Consider  the  customers who buy material such as Aluminium,  Steel,
       Iron, Timber etc.   in standard lengths.  They rarely use them as it
       is.  Frequently it is necessary for them to cut the standard lengths
       into number of smaller pieces according to their requirements.

       As you can imagine there would  be many ways of cutting the required
       pieces from standard lengths.   The waste will be different in  each
       instance.    The customer may eagerly wish to know the best possible
       way of cutting which leads to minimum waste of money and material.

       Finding the best solution is  an extremely complex problem.   On the
       other hand there is no known mathematical procedure to calculate it.
       The ideal method would be to consider all possibilities  and  select
       the  best,  which is an enormous task by manual methods.   All other
       methods left would be  to  guess  the  solution  with lot of tedious
       thinking, which is rarely successful.

       If the need is fairly simple ( If the  types  of  different  lengths
       needed  are less than five and the quantity required in each of them
       is quite small.), an intelligent customer may find the best solution
       or something quite  closer  to  that  after  many strenuous hours of
       guessing and mathematical calculations.

       Real situations are far more complex.  Therefore it is not practical
       to try manual methods to find the most economical solution.

       As a result the average  percentage  of  money  and  material  waste
       involved  in  cutting lies in the range of 5 - 15 %. Can you imagine
       the waste occurring daily in the whole world at such rates ?.

       I believe that it should not be so, in this "Age of computers".

       Let us consider a real example  to make it more clear.   Imagine,  a
       user who wants to have some lengths of Aluminium  as  given  in  the
       chart.

       NB  -  Let  us assume that the length unit is Metres and currency is
              US$ The program is independent of units. It can be any linear
              and Currency units.

             .-------------------.
             | Length | Quantity |
             |-------------------|
             |   5.2  |   124    |
             |   4.7  |   301    |
             |   4.3  |    97    |
             |   3.5  |   281    |
             |   2.5  |   180    |
             |   5.5  |    64    |
             |   1.7  |    56    |
              -------------------

       This  problem  may  be  categorized  differently  depending  on  the
       availability of the  standard  lengths.    Possible  cases are given
       below.

       Case 1
       ------

       Only one type of standard length is available in the market for  the
       particular cross section.

             .-----------------------.
             | Type | Length | Price |
             |-----------------------|
             |   A  |  9.0   |   25  |
              -----------------------

       We can find the best solution either,  by minimizing the cost or  by
       minimizing the waste of material.   Both approaches will lead to the
       same unique solution.

       Case 2
       ------

       Several  types  of  standard lengths are available in the market for
       the particular cross section.

             .-----------------------.
             | Type | Length | Price |
             |-----------------------|
             |   A  |   4.0  | 11.0  |
             |   B  |   6.0  | 17.0  |
             |   C  |   9.0  | 25.0  |
             |   D  |  12.0  | 33.5  |
              -----------------------

       We can try to find the  best  solution either by minimizing the cost
       or by minimizing the waste of material.   Each method will lead to a
       different solution in most instances.

       If the waste of material is zero,  then the two  solutions  will  be
       identical.

       The  customer  would  prefer  to  select  the  most  cost  effective
       solution.

       Case 3
       ------

       Customer  is  using  either,  a collection of lengths remaining from
       previous cutting sessions as standard  lengths or,  a very old stock
       of standard lengths.   In both  cases  the  prices  are  not  known.
       Therefore the cost is not applicable here.

             .---------------.
             | Type | Length |
             |---------------|
             |   A  |  6.6   |
             |   B  |  4.2   |
             |   C  |  4.0   |
             |   D  |  3.5   |
             |   E  |  5.5   |
             |   F  |  5.0   |
              ---------------

       We  should  try to find the best solution by minimizing the waste of
       material.  There will be only one unique solution.

       Any requirement  of  a  customer  can  be  grouped  into above three
       categories.   Each time the customer would like  to  know  the  most
       economical solution.

       Now you are aware of the complexity of the possible categories.
  -------------------------------------------------------------------------

  2.0  A Wizard to help you
       --------------------

       The  "Cutting  Wizard  3.0"  was  designed  to  handle all the above
       mentioned situations satisfactorily.   You  can find the answers for
       all the cases mentioned above,  when you learn to use  the  "Cutting
       Wizard" program.

  -------------------------------------------------------------------------

  3.0  Using "Cutting Wizard 3.0"
       --------------------------
       --------------------------------------------------------------------

  ***  It  very  important to remember that at a particular session you can
  ***  handle only one particular  type  (Cross  section) of cutting needs.
  ***  This suggests that,  if you have prepared cutting requirements ( Bar
  ***  schedules ) for 10 mm,  12mm and 20 mm,  it is necessary to run  the
  ***  program  three  times  separately  for  each  type with the relevant
  ***  standard lengths and their prices.

       --------------------------------------------------------------------

       When you are using windows  95,   select  Start | Programs | Cutting
       Wizard 3.0 to start the program.   You will see the  starting  logo.
       Click  the " Start " button to continue.   You can also use Alt+S to
       perform the same.

       You will see  a  screen  where  you  can  enter  the  details of the
       STANDARD LENGTHS and the CUTTING LENGTHS to find the most economical
       solution.

       3.1  Entering a problem
            ------------------

            (A)  Entering the details of STANDARD LENGTHS
                 ----------------------------------------

                  Length    Price
                  ______    ______
                 |______|  |______|
                  ______    ______
                 |______|  |______|
                  ______    ______
                 |______|  |______|
                  ______    ______
                 |______|  |______|
                  ______    ______
                 |______|  |______|
                  ______    ______
                 |______|  |______|

            You can enter up  to  6  different  standard  lengths  with  or
            without  the  prices.    It is easy to Use Tab and Shift+Tab to
            move forward and backward among entry boxes.   You can also use
            the mouse for the same purpose.

            If the price for any  length  is  missing  or zero then all the
            other prices will be initialized to zero.   When  you  run  the
            program,   the entries of standard lengths will be displayed on
            the screen according to the descending length order of Standard
            lengths.

            Limits -> Maximum allowed Length is  99999.9
                      Maximum allowed Price  is  99999.9


            (B)  Entering the details of CUTTING LENGTHS.
                 ----------------------------------------

                  Length   Quantity
                  ______    ______
                 |______|  |______|
                  ______    ______
                 |______|  |______|

            This is the area where you should enter your cutting list.

            You can enter  up  to  40  different  lengths with the relevant
            quantities.  You will be informed for any wrong or unacceptable
            entries.

            It is easy to  use  Tab  and  Shift+Tab  to  move  forward  and
            backward among the entry boxes.  You can also use the mouse for
            the same purpose.

            If  any length is larger than all the Standard lengths you will
            be prompted to correct  it.    When  you save the problem,  the
            cutting length  entries  will  be  adjusted  according  to  the
            descending order of cutting lengths.

            Limits ->  Maximum allowed Length   is  99999.9
                       Maximum allowed Quantity is  99999


       3.2  Selecting a "Run mode"
            ----------------------

            There are four possible running modes to select.

            *  Method - A

            *  Method - B

            *  Method - A  with Advanced Option

            *  Method - B  with Advanced Option

               Method - A is the default.




            Consider the following when selecting a "Run mode"
            --------------------------------------------------

            1.  You can select "Method - A" only when the prices of all the
                standard lengths are entered.

            2.  Without  the "Advanced" option the processing will be  very
                fast for both methods.   The  solution  may not be the most
                economical.

            3.  With the "Advanced" option the processing may  become  slow
                for  both methods depending on the computer and the problem
                in hand.  But, the solution will be the optimum.

            4.  Frequently the computer solution  given by "Method - A" and
                "Method -B" will be  different.    You  should  select  the
                better one.

                Hint  -  Run  both methods (A & B) with the advanced option
                         and select the best.


       3.3  Finding the solution
            --------------------

            Click the "Find Solution" button to start calculations.

            The program will warn you  if  any  of the following errors are
            present.

            1.  When the maximum of the cutting lengths is longer than  the
                maximum of the standard lengths.

            2.   When  the  quantity  for  a  particular  length is zero or
                 negative.

            The progress bar will indicate the status.  The quantity column
            and the summary details  will  be  updated while the program is
            running.

            The  RED  entries  corresponds  to the "Method - A".
            The  BLUE entries  corresponds  to the "Method - B".


       3.4  Viewing the solution
            -------------------

            Click the "View & Print" button.

            This will open the file "last.sol" with the windows  "Notepad".
            Use the scroll bars to view the entire solution.

       3.5  Printing the solution
            ---------------------

            When  you  enter  a  problem and run the program,  a file named
            "last.sol" containing the solution will  be written to the hard
            disk.   The default setting is  solution  without  the  summary
            report and the Reference note.


            If  you include the "waste summary" the width of the answer may
            exceed the normal width of the A4 papers.  The rule to remember
            is  select  "Landscape"  printing  when  the  waste  summary is
            included.   Otherwise the normal "Portrait" printing will be ok
            for most cases.   The stepwise procedure for printing is  given
            below.


            1.  Click "View & Print" button.

            2.  From the Menu, Select ==> File | Page setup

            3.  Select "Portrait" or "Landscape" mode.

            4.  Remove "&f" and "Page &p" entries for header and footer.

            5.  From the Menu, Select ==> File | Print

            There is an alternative way of printing broader solutions.

            If  you  check the working directory you will notice that there
            are several files named "page1", "page2" etc.   Print all these
            files in the Portrait  mode.    Keep  all the papers printed in
            order.  You will have the solution.

            NB -  The number of files  named "page*"  will  depend  on  the
                  selected "page_width".  The default value of "page_width"
                  is 66.

                  You can change this value using the configuration option.
                  You  may wish to set this value to a value around 100 and
                  print the "page*" files in the Laser printer in Landscape
                  mode to reduce the amount of papers use.


       3.6  Saving a problem
            ----------------

            Select "Save" button to  save  the  current problem which is on
            the screen.

            The  default  for  saving  file  type  is  "*.pro".    You  can
            optionally  select  the  Microsoft  Excel  CSV  file  (   Comma
            delimited ASCII ) type "*.csv".

            The contents of the saved files will be identical in each case.
            The  type  "*.csv"  will  allow  you to load this data files to
            Excel straight away.

       3.7  Loading a problem
            -----------------

            Select "Load" button to load an existing problem which has been
            saved previously.

            The  default  for  loading  file  type  is  "*.pro".    You can
            optionally  select  the  Microsoft  Excel  CSV  file  (   Comma
            delimited ASCII ) type "*.csv".


       3.8  Entering a new problem
            ----------------------

            Select "New" button to clear all the entries of the form and to
            start entering a new problem.

       3.9  Exit the program
            ----------------

            Click  the "Exit" button to end the program.   Remember to save
            the problem under a desired name if necessary.


            Every time you exit the program the data of the current problem
            will be saved under the  name  "last.pro" for safety.   In case
            you forget to save an important problem, still you will be able
            to recover it, until you work on a new problem.

  -------------------------------------------------------------------------

  4.0  Exploring the solution
       ----------------------

       For the ease of understanding,  a fairly small problem  with  "Waste
       Summary" and a "Reference note" is given below.

       Problem            Bar schedule              Standard Lengths
       =======            ------------              ----------------

                     .--------------------.      .---------------------.
                     | Length  | Quantity |      |  Length  |  Price   |
                     |(Metres) | required |      | (Metres) | ( US$ )  |
                     |--------------------|      |---------------------|
                     |         |          |      |          |          |
                     |   7.5   |    20    |      |    12    |    12    |
                     |   4.5   |    21    |      |          |          |
                     |   5.1   |    24    |       ---------------------
                     |   6.5   |    25    |
                     |         |          |
                      --------------------

                                  Solution
                                  ========

       STANDARD LENGTHS  CUTTING DETAILS      WASTE SUMMARY     30-Mar-1999
       ----------------  ---------------      -------------        06:35 AM

       Length  Quantity  Num. x Length        No. Mat.  Total  Money  Total
         (Price)(Total)                       [x] Waste Waste  Waste  Waste
       ----------------  -------------------  -----------------------------
            12      20   1 x  7.5   1 x  4.5
            12      24   1 x  6.5   1 x  5.1   24  0.40  9.60   0.40   9.60
            12       1   1 x  6.5   1 x  4.5    1  1.00  1.00   1.00   1.00
         (12.00)(   45)
       ----------------  -------------------  -----------------------------
       Method Used    => AA                    25       10.60         10.60
       Total  Cost    =>   540.00
       ----------------    ======             Waste Mat.= 1.96% Money=1.96%

       Reference      =>   U channel Aluminium.


       STANDARD LENGTHS
       ----------------

       In  the  solution the lengths are sorted and packed according to the
       length groups for  quick  reference.    Please  see the explanations
       given in the "Getting Started" to understand this portion of  answer
       under the above headings.


       CUTTING DETAILS
       ---------------

       Please  see  the  explanations  given  in  the  "Getting Started" to
       understand this portions of answer under the above heading.

       WASTE SUMMARY
       -------------

       Please Note that some lines in  the "WASTE SUMMARY" are blank.   The
       reason is that there is no waste relevant to that cutting.

       The First three columns of the "WASTE SUMMARY" shows  the  breakdown
       of  the waste of material and the list of remaining from the cutting
       session.

       The total given under  the  first  column  shows the total number of
       pieces left from the whole cutting session.

       The Second column shows the  amount  of  material  wasted  per  each
       standard  length.    The  Third  column  shows  the  total amount of
       material wasted by cutting that particular set of bars.  This is the
       multiplication of the first two columns.



       When the prices are available,   the  last two columns of the "WASTE
       SUMMARY" shows the breakdown of money waste.  First column shows the
       amount of money wasted per each standard length.   The  last  column
       shows  the  total  amount of money wasted by cutting that particular
       set of bars.

       NB - It is advisable to  print  the "WASTE SUMMARY" portion and then
            mark it with the particular type ( Cross Section ) and keep  it
            for future reference.   Store the remaining pieces of different
            types separately.

            The  first  two columns of the summary gives the details of the
            remaining pieces.   These summaries  will  be very helpful when
            looking for smaller pieces of lengths of particular  type  from
            the stocks of waste in future.

  -------------------------------------------------------------------------

  5.0  Configuring the program
       -----------------------

       The default settings are the most popular among the current users of
       the  program.   Still you can change them according to your personal
       taste.  Settings will be saved as you change them.

       Click the "Configure" button to start configuring the program.

       There are three areas, which you can change according to your needs.

       (1)  Include "Waste Summary"
            -----------------------

            This option decides whether  the  section named "WASTE SUMMARY"
            to be included or excluded in the answer.   The default setting
            is, "do not include waste summary".  See the explanations given
            under "Exploring the Solution" for more information.

       (2)  Include "Reference"
            -------------------

            This option decides whether a reference note to be included  or
            excluded  in  the  answer.    The  default setting is,  "do not
            include Reference note".   A reference note may be very helpful
            when identifying a printed solution later.

       (3)  Page_width
            ----------

            If you happen to select  the  solution with the "waste summary"
            sometimes the width of the answer may exceed the width  of  the
            A4  printing  papers.    There are two methods to overcome this
            problem.

            (1).  Printing in Landscape mode.( Changing the "page width" is
                  not necessary when using this method )

            (2).  Slicing the solution  vertically into several portions
                  (Pages) so that the width of each portion lies within the
                  normal printable limits.

            The  minimum  and  maximum  of  the  "page width" is 60 and 200
            respectively.  The default page width is 66 characters.

            The default is good  for  printing  each  page in portrait mode
            using laser printers or 80 column dot matrix printers.

            You can increase the page width up to a value around  100  when
            printing each page in landscape mode using laser printers.

            Experiment  and  find the best choice for your printer type and
            paper size you are using.

  -------------------------------------------------------------------------
  6.0  Special Notes
       -------------
       --------------------------------------------------------------------

       1.  There is no straight method to save a solution as a file under a
           desired name.   This facility is  not included as it is possible
           to run the program and find the solution easily.

           Still,  you can achieve this by the following method.   While in
           the "View & Print" mode Select File | Save as,   and  suggest  a
           suitable name for the solution.   It is advisable to include the
           extension "sol" to recognize the solution files among the other.

       --------------------------------------------------------------------
       2.  When  saving  Excel  files  as CSV  files to be used as data for
           "CUTTING WIZARD" please remember to  leave  one line (a cell) in
           between the data of standard lengths and cutting lengths.

           I would suggest you to load one of the "*.pro" files  to  Excel.
           This  will  show the necessary format to be followed when saving
           Excel files for "Cutting Wizard".

           You can load any  ASCII  file  saved  in  the format followed by
           "*.pro" files to CUTTING WIZARD.   This enables  you  to  import
           files from many other applications too.

       --------------------------------------------------------------------

  ***  3.  The  solution  available after a session corresponds to the last
  ***      problem and the last running mode.

  ***      Imagine that you used  "Method  -  A"  first,  and then you used
  ***      "Method - B" to find a better solution.   If you notice that the
  ***      Solution obtained using "Method - A" is more economical, then it
  ***      is necessary to run the program again  using  "Method  -  A"  to
  ***      obtain the previous solution for printing purposes.

  ***      If  you  wish you can save your solutions under desired names by
  ***      selecting "save as" while Viewing the solutions.

       --------------------------------------------------------------------

       4.  It is assumed that the width of cutting blade  is negligible.

       --------------------------------------------------------------------


  7.0  Author
       ------

       I am a Mechanical Engineer by profession.  Currently I am working as
       a computer Systems analyst cum Programmer.  Please contact me if you
       require further details about the program.


       Postal address                 --->  M.  Nimal  Gunarathne
                                            23,  First Lane,
                                            Station  Road,
                                            Homagama,
                                            10200,
                                            Sri Lanka.


       E-mail                         --->  nimalgm@sltnet.lk


       The "World thrift day" which  falls  on  31st October reminds us the
       importance of avoiding the waste of money and goods.   In fact as  a
       person  born  on  the  same  day,   I am delighted for being able to
       contribute an utility for application on the same lines.





  8.0  History of program development
       -----------------------------

       The first attempt was made in MSDOS environment in early 1997.   The
       programming Language was "C".   It  was  named as the "BEST CUTTER".
       An evaluation copy of this is available in the "Simtel" network.

       ( http://www.simtel.net/pub/simtelnet/msdos/engin/bc-07100.zip)
       ( ftp://ftp.simtel.net/pub/simtelnet/msdos/engin/bc-07100.zip )

       The  program fulfilled the basic needs of the customers.   But there
       was a great demand for a Windows based version.  Therefore I started
       writing the "Cutting Wizard" on 31st October 1997.




       As there is no method available to test the program  other  than  my
       own  MSDOS version ( Which supports only one type of standard length
       at a time.   )  mentioned  above,   the  checking of accuracy of the
       answers was very tedious and time consuming work.   Any  how  I  was
       able to proceed with the work and upgrade the program with following
       major upgrades.

       Version 1.0  -  Entertained only four standard lengths.

       Version 2.0  -  Entertained Six standard lengths.
                       Introduced the "Method - B".

       Version 3.0 -   Introduced   the   more  economical  "Advanced"
                       option.   Added Microsoft Excel *.csv file load
                       facility.


  9.0  Distribution
       ------------

       Hereby  the  permission   is   given   to  everybody  to  distribute
       CW30-404.ZIP on disks,  BBs or CDs,  provided that it is distributed
       in it's original form.




  *    Microsoft, Windows, MSDOS and Excel are registered trademarks of
       Microsoft  Corporation in the United States and other countries.

