USER MANUAL for PROGRAM " L18DYN.EXE " (DYNAMIC)
================================================

+++++++++++++++++++++++++++++++++++++++++++
A PROGRAM  FOR  OPTIMIZING DYNAMIC PROBLEMS
WITH 5-7 CONTROL FACTORS with 3-LEVELS EACH
AND  only  1 CONTROL FACTOR  with  2-LEVELS
+++++++++++++++++++++++++++++++++++++++++++

******
PART A   For a more detailed intro see Taguchi Introduction
******

INTRODUCTION TO TAGUCHI METHOD (FOR DYNAMIC PROBLEMS):
------------------------------------------------------

Every experimenter has to plan and conduct experiments to obtain enough and relevant data so that he can infer the science behind the observed phenomenon. He can do so by,

(1) trial-and-error approach :
--------------------------

By performing a series of experiments each of which gives him someunderstanding. This requires making measurements after every expt.so that analysis of observed data will allow him to decide what to do next - "Which parameters should be varied and by how much". Many a times such series does not progress much as negative results maydiscourage or will not allow a selection of parameters which oughtto be changed in the next expt. Therefore, such experimentation usually ends well before the number of experiments reach a double digit! The data is insufficient to draw any significant conclusions and the mainproblem (of understanding the science) still remains unsolved.

(2) Design of experiments :
-----------------------

A well planned set of experiments in which all parameters of interest are varied over a specified range is a much better approach to obtain systematic data. Mathematically speaking such a set of experiments is complete and ought to give desired results. However, it does not easily lend itself to understanding of science behind the phenomenon. The analysis is not very easy (though it is easy for the mathematician/statistician) and thus effects of various parameters on the observed data are not readily apparent. In many cases, particularly those in which some optimisations are required, the method does not point to the BEST settings of parameters. A classic example illustrating the drawback of design of experiments is found in the planning of a world cup event, say football. While all matches are well arranged with respect to the different teams and different venues on different dates and yet the planning does not care about the result of any match (win or lose)!!!! Obviously, such a strategy is not desirable for conducting scientific experiments (except for co-ordinating various institutions, people, equipment etc).

(3) Taguchi Method :
----------------

Dr. Taguchi of Nippon Telephones and Telegraph Company, Japan has developed a method based on " ORTHOGONAL ARRAY " experiments which gives much reduced " variance " for the experiment with " optimum settings " of control parameters. Thus the marriage of Design of Experiments with optimisation of control parameters to obtain BEST results is achieved in the Taguchi Method. "Orthogonal Arrays" (OA) provide a set of well balanced (minimum) experiments and Dr. Taguchi's Signal-to-Noise ratios (S/N), as objective functions for optimisation, help in data analysis and prediction of optimum results.

Taguchi Method treats optimization problems in two categories,

[A] STATIC PROBLEMS  :

[B] DYNAMIC PROBLEMS (TECHNOLOGY  DEVELOPMENT) :

If the product to be optimized has a signal input that directly decides the output, the optimization involves determining the best control factor levels so that the "input signal / output" ratio is closest to the desired relationship. Such a problem is called as a "DYNAMIC PROBLEM".

This is best explained by a P-Diagram which is shown below. Again, the primary aim of the Taguchi experiments - to minimize variations in output eventhough noise is present in the process- is achieved by getting improved Linearity in the input-output relationship.

In dynamic problems, we come across many applications where the output is supposed to follow input signal in a predetermined manner. Generally, a linear relationship between "input" "output" is desirable.

For example : Accelerator peddle in cars,
volume control in audio amplifiers,
document copier (with magnification or reduction)
various types of moldings
etc.

There are 2 characteristics of common interest in "follow-the-leader" or "Transformations" type of applications,

(i) Slope of the I/O characteristics

and

(ii) Linearity of the I/O characteristics
(minimum deviation from the best-fit straight line)

The Signal-to-Noise ratio for these 2 characteristics have been defined as;

(I) SENSITIVITY {SLOPE}:
--------------------

The slope of I/O characteristics should be at the specified value (usually 1).

It is often treated as Larger-The-Better when the output is a desirable characteristics (as in the case of Sensors, where the slope indicates the sensitivity).

n = 10 Log10 [square of slope or beta of the I/O characteristics]

On the other hand, when the output is an undesired characteristics, it can be treated as Smaller-the-Better.

n = -10 Log10 [square of slope or beta of the I/O characteristics]

(II) LINEARITY (LARGER-THE-BETTER) :
-------------------------------

Most dynamic characteristics are required to have direct proportionality between the input and output. These applications are therefore called as "TRANSFORMATIONS". The straight line relationship between I/O must be truly linear i.e. with as little deviations from the straight line as possible.

Square of slope or beta
n = 10 Log10 ----------------------------
variance

Variance in this case is the mean of the sum of squares of deviations of measured data points from the best-fit straight line (linear regression).

L18   ORTHOGONAL   ARRAY :
----------------------------------------------

L18  ( 21 X 37 )  ORTHOGONAL  ARRAY

----------------------------------------------------
Columns
EXPT NO     1    2        3    4    5    6    7    8
----------------------------------------------------
1            1    1        1    1    1    1    1    1
2            1    1        2    2    2    2    2    2
3            1    1        3    3    3    3    3    3
4            1    2        1    1    2    2    3    3
5            1    2        2    2    3    3    1    1
6            1    2        3    3    1    1    2    2
7            1    3        1    2    1    3    2    3
8            1    3        2    3    2    1    3    1
9            1    3        3    1    3    2    1    2

10            2    1        1    3    3    2    2    1
11            2    1        2    1    1    3    3    2
12            2    1        3    2    2    1    1    3
13            2    2        1    2    3    1    3    2
14            2    2        2    3    1    2    1    3
15            2    2        3    1    2    3    2    1
16            2    3        1    3    2    3    1    2
17            2    3        2    1    3    1    2    3
18            2    3        3    2    1    2    3    1
-----------------------------------------------------

LINEAR  GRAPH  FOR  L18

1              2                3          4          5          6          7          8
*---------*                   *          *          *          *          *          *
can study                 Interaction between any two columns (from 3 - to - 8)  is
interaction               confounded with the remaining columns and can not be studied
1 X 2

Note: Interaction between columns 1 and 2 is orthogonal to
all columns and hence can be estimated without sacrificing
any column. The interaction can be estimated from the 2-way
table of columns 1 and 2.

Columns 1 and 2 can be combined to form a 6-level column.

******
******

THE PROGRAM FILES:
------------------

'   The zipped file you receive will be L18DYNALL.zip

' It will contain

(1) Executable Program in MS-DOS         --   L18DYN.exe
(2) Parameter files (for my examples)    --   *.par
(3) Data files (data for my examples)    --   *.dat
(4) output files (using my examples)     --   *.out

' The program executable file is  "L18DYN.EXE"

' THE *.PAR AND *.DAT ARE INPUT FILES NEEDED BY "L18DYN.EXE"

' AT RUN TIME THE PROGRAM CREATES THE RESULT FILES *.OUT

'

WHAT DO THE FILES CONTAIN :
-------------------------------------------

*.PAR  i.e.  Parameter file contains the details of the control factors
(or parameters) of the experiment.

*.DAT  i.e.  Data file contains the measured data obtained in the
18 experiments of the (rows of) L18-Array.

*.OUT   i.e. Output files created at the run time

WHAT YOU HAVE TO DO :
---------------------

If you wish to perform TAGUCHI experiment of your own, then

take the following steps

(i) Select the S/N ratio

' Decide whether your expriment data should be used for

' optimizing Sensitivity  or  Linearity (or both)

' THEN DECIDE A filename.

' CHOOSE MY FILE dyn18-#.PAR

' WHERE # = 5, 6, 7 OR 8  (NUMBER OF CONTROL FACTORS)

' COPY dyn18-#.par filename.par

' YOU MAY USE THIS COPY FOR FURTHER STEPS GIVEN BELOW

(ii) Prepare the Parameter file (as per instructions below)

(iii) Prepare the Data file (as per instructions below)

PARAMETER FILE STRUCTURE :
--------------------------

(i) Select a FILENAME for your PAR file

say it is  filename.PAR

Now, you start preparing your file --> filename.PAR

(ii) Your experiment title in the first line of filename.PAR

' simply overwrite on the existing

' line in my example

' do not use "," (comma) in the title line

number of control factors -- 5  or 6  or  7  or  8

Character to represent control factor #1 -- A

name of control factor #1 -- "namestringA"

[note: FIRST 12 CHARACTERS WILL BE TAKEN. The quote signs are not required]

Levels of factor A -- 2

[note: ONLY ONE 2-LEVEL FACTOR IS ALLOWED.
IT CAN BE DECLARED AS THE FIRST CONTROL FACTOR.
'IF THERE IS NO 2-LEVEL FACTOR,
'THEN THE FIRST FACTOR CAN HAVE 3-LEVELS,
'IN WHICH CASE, MAXIMUM NUMBER OF FACTORS WILL BE 7]

name of Level #1 of A -- "stringA1"

name of Level #2 of A -- "stringA2"

[note: FIRST 6 CHARACTERS WILL BE TAKEN FOR THE LEVEL NAMES]

Character to represent control factor #2 -- B

name of control factor #2 -- "namestringB"

Levels of factor B -- 3

name of Level #1 of B -- "stringB1"

name of Level #2 of B -- "stringB2"

name of Level #3 of B -- "stringB3"

Character to represent control factor #3 -- C

name of control factor #3 -- "namestringC"

Levels of factor C -- 3

name of Level #1 of C -- "stringC1"

name of Level #2 of C -- "stringC2"

name of Level #3 of C -- "stringC3"

Character to represent control factor #4 -- D

name of control factor #4 -- "namestringD"

Levels of factor D -- 3

name of Level #1 of D -- "stringD1"

name of Level #2 of D -- "stringD2"

name of Level #3 of D -- "stringD3"

Character to represent control factor #5 -- E

name of control factor #5 -- "namestringE"

Levels of factor E -- 3

name of Level #1 of E -- "stringE1"

name of Level #2 of E -- "stringE2"

name of Level #3 of E -- "stringE3"

Character to represent control factor #6 -- F

name of control factor #6 -- "namestringF"

Levels of factor F -- 3

name of Level #1 of F -- "stringF1"

name of Level #2 of F -- "stringF2"

name of Level #3 of F -- "stringF3"

Character to represent control factor #7 -- G

name of control factor #7 -- "namestringG"

Levels of factor G -- 3

name of Level #1 of G -- "stringG1"

name of Level #2 of G -- "stringG2"

name of Level #3 of G -- "stringG3"

Character to represent control factor #8 -- H

name of control factor #8 -- "namestringH"

Levels of factor H -- 3

name of Level #1 of H -- "stringH1"

name of Level #2 of H -- "stringH2"

name of Level #3 of H -- "stringH3"

Character to represent signal factor  -- M

Signal name -- "SignalNameString"

Levels of Signal M -- numM (say 5)

'SIGNAL LEVELS MUST BE BETWEEN 2  TO  200

Signal Level values -- SignalVal(1)
-- SignalVal(2)
--    . . .
--    . . .
-- SignalVal(numM)

To indicate END OF DATA -- 0
next line also -- 0

(I HAVE NOT INCLUDED NOISE)

(I WILL INCLUDE NOISE sometime in FUTURE)

DATA FILE STRUCTURE :
---------------------

I have provided (dummy) data for all the examples (so the

examples should run without difficulty, filename is dyn18-8.DAT).

The data file structure is given below,

[blank lines]             'Optional blank lines

"STRING QUALITY-NAME"     'Name of quality characteristics

[blank lines]             'Optional blank lines

"STRING QUALITY-UNITS"   'Units of measured data

[blank lines]             'Optional blank lines

nthsignal, 1stval, 2ndval . . . nthval   'nthsignal ==> number of signal levels (2 TO 200)
'#thval    ==> valueS of signal levels

num1                      'number of measurements for each expt.

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#1

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#2

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#3

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#4

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#5

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#6

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#7

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#8

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#9

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#10

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#11

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#12

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#13

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#14

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#15

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#16

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#17

val(1,1stval), ... ,val(num1,1stval),      val(1, 2ndval), ... , val(num1, 2ndval),      val(1, nthval), ... , val(num1, nthval) ' for expt#18

[blank lines]

[any other text for giving NOTES or COMMENTS]

HOW TO RUN L18DYN.EXE   AND  OUTPUT FILES THAT YOU GET AT RUN TIME :
-------------------------------------------------------------------

At the planning stage you need to first prepare your own

parameter file by modifying a copy of one of my parameter files.

Give a name to this copy as filename.par and overwrite your

parameter info line by line. Now the parameter file the filename.PAR

is ready for use. You may use the data file I have provided, by

copying it to filename.dat.

The program "L18DYN.exe" will then use YOUR filename.PAR file

for control parameter details and filename.DAT (that you can

obtain by copy command: msdos-prompt> copy dyn18-8.dat filename.DAT

This will create 3 important files for you,

(i) filenameB1.OUT    {  B ==> Beta  {maximize the slope)    }
filenameL1.OUT    {  L ==> Linearity (minimize variance  }

' THIS CONTAINS THE PARAMETER DETAILS

' WHICH YOU HAVE GIVEN

' PLEASE CHECK THIS AND VERIFY THAT

' THE CONTROL PARAMETERS ARE correct

(ii) filenameB2.out
filenameL2.out

' THIS GIVES THE CHOSEN

' "ORTHOGONAL ARRAY" i.e. L18 ARRAY

' THIS IS ALWAYS THE SAME

' so you need not check (or worry!)

' I have checked it ONCE for ALL.

(iii) filenameB3.out
filenameL3.out

' THIS GIVES THE all important EXPERIMENTER'S LOG

' USE THIS EXPERIMENTER'S LOG TO BEGIN THE EXPERIMENT

'

' PERFORM ALL EXPERIMENTS AND

' NOTE DOWN ALL DATA

'

' MEASUREMENTS ARE not REQUIRED IN BETWEEN THE EXPERIMENTS.

' MEASUREMENTS CAN BE DONE AT THE END OF all EXPERIMENTS

(iv) The program also creates other files

(which are relevant ONLY after REAL data exists in filename.DAT file)

These files are

filenameB4.OUT ' DATA
L

filenameB5.OUT ' DATA SUMMARY
L

filenameB6.OUT ' FACTOR EFFECTS (ANOVA , % AND F )
L

filenameB7.OUT ' AT THE CONTAINS THE PREDICTED RESULTS
L        FOR OPTIMUM PARAMETER COMBINATIONS

filenameB9.OUT ' OPTIMUM SETTINGS OF PARAMETERS AND ANOVA SUMMARY
L

******
PART C
******   Click here for the Default Parameter files (to run with L18DYN.exe)  dyn18ex.zip

HOW TO RUN THE PROGRAM " L18DYN.EXE "
------------------------------------

ONCE THE FILES filename.PAR AND filename.DAT ARE AVAILABLE, THE

PROGRAM " L18dyn.EXE " CAN BE RUN BY ISSUING A COMMAND

L18dyn <CR> OR <ENTER>

THE FILES filenameB4.OUT ONWARDS WILL CONTAIN THE RESULTS OF your EXPERIMENTS
L

IMPORTANT :

PROGRAM L18dyn.EXE during a run shows

the graphical plot of the factor effects.

[note: This requires that the terminal be of VGA type]

At run-time, FOLLOWING QUERIES HAVE TO BE ANSWERED

Q1 ==> SEE THE PLOTS /or  NOPLOT

TYPE 1 / 0

TRY BY TYPING A 1 ' IF YOUR SCREEN IS VGA , NO PROBLEM
' ELSE THE PROGRAM WILL CRASH ,

' START AGAIN BY TYPING L18DYN <ENTER>

' AND THIS TIME GIVE A VALUE 0

Q2 ==> PARAMETER FILENAME (WITHOUT EXTENSION .PAR)

TYPE dyn18-8
or
TYPE DYN18-8

' MS-DOS SYSTEM DOES NOT DIFFERENTIATE

' UPPER OR LOWER CASE IN FILENAMES

' IF ANY PROBLEM, USE UPPER CASE

Q3 ==> DATA FILENAME ( PROMPT WILL BE FOR dyn18-8.DAT )

you may either

TYPE <ENTER>
or
TYPE dyn18-8

Q4 ==>

' THE DISPLAY GIVES YOU TWO CHOICES OF ANALYSIS

' TYPE 3  FOR S/N RATIO FOR CONTINUOUS-CONTINUOUS FOR LINEARITY

' TYPE 4  FOR S/N RATIO FOR SLOPE OR BETA

PROGRAM WILL FLASH MANY VALUES ' JUST TO KEEP YOU ENTERTAINED

' PARTICULARLY ON A slow PC-AT

AND WILL HALT THE SCROLL TEMPORARILY AFTER RESULTS

' YOU MAY WAIT FOR 5 sec.

' LOOSE PATIENCE AND

' HIT THE <SPACEBAR> A FEW TIMES

' (NO HARM DONE)

ON SPECIFIC DEMAND FROM PROGRAM

TYPE A <CR> OR <ENTER>

' IMPLIES THAT THE SCREEN IS FROZEN

' DISPLAY WILL NOT SCROLL

' TILL YOU HIT <CR> OR <ENTER>

' THIS IS PARTICULARLY SUITED TO

' "STARE" AT THE FACTOR-EFFECT PLOTS

ON <CR> OR <ENTER>

' IT WILL SHOW YOU ALL THE TABLES FOR 5 SEC.

' EITHER USE "PAUSE" TO EXTEND THIS

' PERIOD OR USE <SPACEBAR> TO

' MOVE ON TO NEXT TABLE

FINALLY (AFTER TABLE 4.9)

IT WILL ASK YOU TO TYPE

NOMINAL COMBINATIONS

' IF ALL PARAMETERS ARE IN THEIR

' MIDDLE LEVELS, THEN TYPE

' ONLY NUMBER CODES FOR THE

' PARAMETER LEVELS, SAY

' 2,2,2,2,2 FOR 5-FACTOR EXPTS.

' 2,2,2,2,2,2 FOR 6-FACTOR EXPTS.

' 2,2,2,2,2,2,2 FOR 7-FACTOR EXPTS

' 2,2,2,2,2,2,2,2 FOR 8-FACTOR EXPTS

IT WILL THEN ASK FOR THE

OPTIMUM (OR NEW) COMBINATIONS

' TYPE THE COMBINATION DISPLAYED

' AS OPTIMUM , SAY

' 1,3,2,1,1 FOR 5-FACTOR EXPT

' 1,3,2,1,1,3 FOR 6-FACTOR EXPT

' 1,3,2,1,1,3,2 FOR 7-FACTOR EXPT

' 1,3,2,1,1,3,2,1 FOR 8-FACTOR EXPT

YOU MAY KEEP TYPING WHATEVER

COMBINATIONS YOU WANT TO FIND (ANY ONE OF 3^8 COMBINATIONS)

OR

END BY TYPING

' 0,0,0,0,0 FOR 5-FACTOR EXPT

' 0,0,0,0,0,0 FOR 6-FACTOR EXPT

' 0,0,0,0,0,0,0 FOR 7-FACTOR EXPT

' 0,0,0,0,0,0,0,0 FOR 8-FACTOR EXPT

PROGRAM DISPLAYS THE FILENAMES

WHERE YOU MAY BE ABLE FIND THE

VARIOUS TABLES AND PREDICTED

RESULTS.

' YOU MAY PRINT ALL FILES BY STANDARD COMMAND

' PRINT filename#.out    where # = 1,2,..,9

NAMING CONVENTION FOR MY EXAMPLE FILES:

WHEN YOU ARE MAKING A RUN FROM MY EXAMPLES, THE FOLLOWING CONVENTION

IS IMPLICIT IN THE FILENAMES I HAVE USED,

(i) SLOPE  OR  LINEARITY :
----------------------

ALL FILENAMES START WITH A CHARACTERS "dyn18" (FOR DYNAMIC - WITHOUT NOISE)

NEXT APPENDED STRING IS "-#" (# INDICATES NUMBER OF CONTROL FACTORS)

NUMBER "5" FOR 5 CONTROL PARAMETERS

OR "6" FOR 6 CONTROL PARAMETERS

OR "7" FOR 7 CONTROL PARAMETERS

OR "8" FOR 8 CONTROL PARAMETERS

EXTENSIONS ARE ".PAR" FOR PARAMETER DETAILS

OR ".DAT" FOR MEASURED (OR DUMMY) DATA

SO, THE FILANAMES LOOK LIKE

"dyn18-5"         FOR 5 CONTROL FACTORS,

"dyn18-6"         FOR 6 CONTROL FACTORS

"dyn18-7"         FOR 7 CONTROL FACTORS

"dyn18-8"         FOR 8 CONTROL FACTORS

(with extension .par or .dat)

THE FILES WITH NOISE FACTORS

WHEN IMPLEMENTED, WILL LOOK LIKE

"dy18nz2"         FOR NOISE FACTORS WITH 2-LEVELS EACH

"dy18nz3"         FOR NOISE FACTORS WITH 3-LEVELS EACH

(with extension .par or .dat)

WHOAMI

Prof. Prakash R. Apte

Reliability Engineering (EE Dept)

Indian Institute of Technology

Powai, Mumbai - 400 076, India

FAX (off) : +91-22-572 3707 (EE office)

Phone (off) : +91-22-572 2545 ask op extn. 7872

Phone (home): +91-22-572 0426

e-mail: apte@ee.iitb.ac.in

web-page : http://www.ee.iitb.ac.in/~apte

***************************************************

W I S H   Y O U   A L L   T H E   S U C C E S S

W I T H   T H E   " T A G U C H I   M E T H O D "

***************************************************

Go back to Apte's web-page

Go back to Taguchi Page

last modifed on 22-Sep-2000 / 31-Aug-2000