MIXSOFT™--A MENU-DRIVEN COLLECTION OF FORTRAN ROUTINES FOR THE DESIGN AND ANALYSIS OF MIXTURE AND OTHER CONSTRAINED REGION EXPERIMENTS

Version 2.4.1

April 2008



Greg F. Piepel, Ph.D.
MIXSOFT
649 Cherrywood Loop
Richland, WA 99354-1807
U.S.A.
VOICE: 509-375-4907, E-MAIL: mixsoft@aol.com
WWW: http://members.aol.com/mixsoft
 

ABSTRACT

MIXSOFT™ Version 2.4.1 is a menu-driven collection of FORTRAN routines useful in the design and analysis of mixture and other constrained region experiments. The main capabilities of Version 2.4.1 include:(1) generating simplex-centroid and simplex-lattice designs, (2) entering and checking constraints on mixture components, (3) transforming components to and from pseudocomponents, (4) expanding points according to various mixture, mixture-amount, mixture-process variable, and nonmixture variable models, (5) generating extreme vertices and centroids for constraint regions defined by lower and upper bounds on individual mixture components or by multiple-variable constraints on mixture and/or nonmixture variables, (6) generating two-level factorial, fractional factorial, and Plackett-Burman designs, (7) generating screening designs for mixture experiments from nonmixture variable screening designs, (8) generating designs for mixture-amount and mixture-process variable experiments, (9) selecting, for a specified model form, D-optimal or near D-optimal designs from a set of candidate points, and (10) computing mixture component effects and producing the data for component effects plots, In addition, many utility routines with various capabilities are included.

Additional capabilities will be added to MIXSOFT as time passes, with the eventual goal of providing a comprehensive collection of tools useful in designing and analyzing the data from mixture and other constrained region experiments.

MIXSOFT Version 2.4.1 comes with the 353-page MIXSOFT USER'S GUIDE, which contains installation instructions, documentation, and one or more examples of the use of each routine. The large number of examples, most of which use real-world problems, account for the length of the MIXSOFT USER'S GUIDE.  The MIXSOFT USER'S GUIDE is provided in paper form as well as electronic (PDF file) form.

 

1. INTRODUCTION

A mixture experiment involves varying the proportions of the mixture components and then observing the values of one or more properties of the mixture. Typically, the properties of the mixture are assumed to depend only on the proportions of components and not on their total amount. An experiment in which the total amount also affects the properties is known as a mixture-amount experiment. An experiment in which the values of non-mixture variables (referred to as process variables) affect the properties is known as a mixture-process variable experiment. An experiment in which the properties of interest depend on the amounts of individual components (and hence the total amount) is known as a component-amount experiment. In this brochure, the term "mixture experiments" will be used in a more general sense to include all of the above types of experiments involving mixtures.

Although mixture experiment designs and data analysis techniques have appeared in the literature since the initial efforts of Claringbold (1955) and Scheffé (1958, 1963), the software available to implement them was limited for many years. In an effort to rectify this situation, during 1986-1987 I pursued obtaining industrial and government funding to develop a comprehensive, user-friendly mixture experiment software package with both command and menu interfaces. Although many potential users expressed interest, efforts to identify funding for the development effort were unsuccessful. I decided to redirect my efforts during 1988-1989 toward developing a less comprehensive, but still useful, collection of subroutines and interactive main routines to implement specific mixture designs and techniques. Over time, the collection could be expanded and eventually become more comprehensive and user-friendly. The initial result of these efforts was Version 1.0 of MIXSOFT™, which was released in October 1989. Additional efforts resulted in Version 2.0, first released in October 1990. Among many additions to Version 2.0 was an optimal experimental design capability based on the DETMAX algorithm of Mitchell (1974). Several minor revisions and the Lahey Fortran 90 compiler enabled solving much larger problems on the PC version of MIXSOFT Versions 2.3, 2.3.01 and 2.3.1.  These versions were first released in 1998-1999.  The current Version 2.4.1, released in February 2003 was compiled and linked with a Lahey Fortran 95 compiler.  MIXSOFT executables now make use of Windows memory management rather than relying on a separate DOS memory expander/manager linked to the executable (which was the case for Versions from 2.3 to 2.3.1 produced with Lahey Fortran 90).

MIXSOFT is a menu-driven collection of FORTRAN-77 subroutines and interactive main routines that implements specific tools useful in the design and analysis of mixture experiments. This brochure gives an overview and some examples of the capabilities of MIXSOFT Version 2.4.1. A MIXSOFT order form is included with this brochure or is available upon request.

 

2. MIXSOFT OVERVIEW

An overview of the capabilities of MIXSOFT Version 2.4.1 are given in Table 1, which lists the chapter titles and section headings from the MIXSOFT USER'S GUIDE (Piepel 2003). Chapter 1 of the user's guide gives an overview of mixture experiments, the software, the user's guide, and the menu interface. Chapters 2 - 11 contain descriptions of the mixture design and analysis tools, discussions of the algorithms used, and examples illustrating the use and results of the routines. The routines are organized in Chapters 2 - 11 by the type of mixture technique they implement.

 

TABLE 1. Chapter Titles and Section Headings in the MIXSOFT USER'S GUIDE

 1. INTRODUCTION AND OVERVIEW
      Types of Mixture Experiments
      Overview of MIXSOFT
      Overview of the MIXSOFT USER'S GUIDE
      Overview of the MIXSOFT Menu System
 
 2. SIMPLEX MIXTURE DESIGNS
      Simplex-Lattice Designs
      Simplex-Centroid Designs or Fractions Thereof
 
 3. ENTERING AND CHECKING CONSTRAINTS FOR CONSTRAINED MIXTURE EXPERIMENTS
      Entering and Checking Lower and Upper Bounds for Individual Components
 
 4. TRANSFORMING AND EXPANDING MIXTURE POINTS
      Pseudocomponent Transformations
      Expanding Points for Various Mixture and Other Models
 
 5. EXTREME VERTICES OF CONSTRAINED MIXTURE REGIONS
      Computing the Number of Extreme Vertices for Regions Defined by Lower and
        Upper Bounds on Individual Components
      Generating Extreme Vertices for Regions Defined by Lower and Upper Bounds on
        Individual Components
      Generating Extreme Vertices for Regions Defined by Multiple-Component Constraints
 
 6. CENTROIDS OF CONSTRAINED MIXTURE REGIONS
      Center-of-Mass Centroids
      Averaged-Extreme-Vertices Centroids
      Range-Normalized-Midrange Centroids
 
 7. EFFECTS OF MIXTURE COMPONENTS
      Generating Component Effect Endpoints and Calculating Component
        Effects Using the Orthogonal, Cox, or Piepel Directions
      Generating Data for Plotting Component Effect Curves
 
 8. CLASSICAL TWO-LEVEL DESIGNS
      Routine for Constructing Two-Level Designs
      Two-Level Factorial Designs
      Two-Level Fractional Factorial Designs
      Plackett-Burman Designs
 
 9. DESIGNS FOR MIXTURE-PROCESS VARIABLE AND MIXTURE-AMOUNT EXPERIMENTS
      Constructing Mixture-Process Variable and Mixture-Amount
        Designs by Forming All Combinations of Separate Mixture
        and Process Variable Designs and Total Amount Levels
      Using the MCCVRT and AEVC Routines to Generate Candidate Points
        for Mixture-Process Variable and Mixture-Amount Designs
 
10. COMPUTER-AIDED EXPERIMENTAL DESIGN
      Modified XVERT Mixture Screening Designs
      Select an Optimal Design from a Set of Candidate Points Using the DETMAX Algorithm
 
11. MISCELLANEOUS UTILITY ROUTINES
 
REFERENCES
 
APPENDIX A -- INSTRUCTIONS FOR INSTALLING AND USING MIXSOFT
 
APPENDIX B -- GLOSSARY OF FILENAME EXTENSIONS FOR INPUT AND OUTPUT FILES
              ASSOCIATED WITH MIXSOFT ROUTINES
 
APPENDIX C -- REVISIONS TO MIXSOFT

 

For example, routines having to do with counting or generating the extreme vertices of a constrained mixture region are contained in Chapter 5.

As seen from Table 1, a wide range of capabilities is provided in Version 2.4.1 of MIXSOFT. Still, the package does not yet provide a comprehensive collection of tools for the design and analysis of mixture experiments. Many other techniques discussed in the mixture literature over the years could be incorporated. Also, regression and graphics capabilities are required to have a comprehensive package, but were not a first priority for inclusion in MIXSOFT because they are widely available in other software. Although these capabilities in other software are not always ideal for application to mixture experiments (e.g., incorrect ANOVA tables when fitting mixture models without constant terms, no easy features for plotting on simplex or constrained mixture regions), they provide for the basic needs.

The capabilities of MIXSOFT will be improved and expanded in future versions.

 

3. MIXSOFT STRUCTURE--SUBROUTINES AND INTERACTIVE MAIN ROUTINES

MIXSOFT consists of a menu program, main routines, and subroutines written in ANSI standard FORTRAN-77. The routines were developed and tested using Lahey FORTRAN-95 Version 5.7 on Pentium III PCs under Windows 98, Windows 2000, and Windows XP. Earlier versions of routines were tested using: (i) Lahey Fortran 90 Version 4.0 on PCs running Windows 95, Windows 98, and Windows NT, (ii) Microsoft FORTRAN 4.1 and 5.0 on 386 and 486 PCs, (iii) VAX FORTRAN on a VAX 8300 under VMS 5.3, and (iv) FORTRAN-77 compilers on Sun workstations. Also, earlier versions of MIXSOFT were tested with Ryan McFarland FORTRAN compilers by two test sites. MIXSOFT should be usable on any computer equipped with a FORTRAN-77 or later compiler. However, a FORTRAN compiler is not required to run MIXSOFT on a Pentium Pro (and equivalent or higher) PC under Windows 98 or higher because executable files are provided in addition to the source code.  The current version of MIXSOFT, Version 2.4.1, may run under Windows 95, but has not been tested on such a computer with that operating system.

Subroutines form the basic building block in MIXSOFT. Each subroutine performs a specific task and has built-in error checking. If input arguments do not have appropriate values or if code limitations are exceeded during an application, the subroutines return with an error condition. The dimensions of nearly all arrays used by the subroutines are passed as arguments from the calling routine, which are in turn passed from the MIXSOFT menu routine, so that the size of problems that can be solved is controlled by the MIXSOFT menu routine.

The primary function of most of the main routines in MIXSOFT is to provide input and output services for one or more subroutines. There are a few main routines that "do most of their own work", but even those make use of utility or other subroutines. Main routines in MIXSOFT use interactive prompts to solicit input information from the user, although for more complex problems input files may also be required. The main routines check the user's responses to prompts for appropriateness, and re-prompt the user when an inappropriate response is given.

In most cases, the output from MIXSOFT main routines is written to two output files. One output file contains only the results of interest and can serve as an input file to another MIXSOFT routine or some other software package. The second output file contains a full summary of the run, including input information, warning or error messages, the results of interest, and other output.

Main routines requiring input files or producing output files prompt the user for a file "basename", which is used as the first part of the name of all input and output files. The main routines assign predetermined three-character extensions to complete each file name, where the extension uniquely identifies the contents of the file. For example, the extension .VER denotes that the file contains extreme vertices for a mixture region constrained by lower and upper bounds on the components.

The source code of all MIXSOFT subroutines and main routines is provided on diskette, so that a user can build custom programs or programs with new features without starting from scratch. However, it is suggested that modifications or ideas for modifications be submitted for permanent inclusion in MIXSOFT.

 

4. EXAMPLES

Interactive sessions and output files for several MIXSOFT main routines are illustrated in this section via a series of examples. It isn't possible to illustrate all MIXSOFT capabilities here, but the examples presented should give a good representation. For space reasons, the menu selections leading up through the selection of the main routine are not shown in the examples. In lieu of this, Tables 2 and 3 illustrate the main menu screen and the sub-menu screen corresponding to option number 5 on the main menu.



TABLE 2. The MIXSOFT Main Menu Screen

     MIXSOFT MAIN MENU                     
     -----------------                                                       
       1. HELP
       2. GENERATE SIMPLEX MIXTURE DESIGNS
       3. ENTER AND CHECK COMPONENT CONSTRAINTS
       4. TRANSFORM MIXTURE COMPONENTS
       5. GENERATE/COUNT EXTREME VERTICES OF CONSTRAINED REGIONS
       6. GENERATE CENTROIDS OF CONSTRAINED REGIONS
       7. CALCULATE MIXTURE COMPONENT EFFECTS
       8. GENERATE CLASSICAL TWO-LEVEL DESIGNS
       9. GENERATE MIXTURE, TOTAL AMOUNT, AND PROCESS VARIABLE DESIGNS
      10. COMPUTER-AIDED EXPERIMENTAL DESIGN
      11. RETURN TO COMPUTER'S OPERATING SYSTEM
 
     ENTER YOUR CHOICE AND HIT [RETURN] >
 

TABLE 3. The Sub-Menu Screen Corresponding to Option 5

     5.0  GENERATE/COUNT EXTREME VERTICES SUBMENU
     --------------------------------------------
 
       1. HELP
 
       2. CALCULATE THE NUMBER OF EXTREME VERTICES FOR A MIXTURE
          REGION DEFINED BY COMPONENT LOWER AND UPPER BOUNDS OF
          THE FORM  Li < Xi < Ui (NEV)
 
       3. GENERATE ALL OR SOME OF THE EXTREME VERTICES FOR A MIXTURE
          REGION DEFINED BY COMPONENT LOWER AND UPPER BOUNDS OF THE
          FORM  Li < Xi < Ui (VERT)
 
       4. GENERATE ALL EXTREME VERTICES FOR A REGION DEFINED BY LINEAR
          COMBINATION CONSTRAINTS OF THE FORM A1X1 + ... + AQXQ + A0 >= 0.
          THE VARIABLES Xi MAY BE MIXTURE AND/OR NON-MIXTURE VARIABLES (MCCVRT)
 
       5. RETURN TO THE MIXSOFT MAIN MENU
 
     ENTER YOUR CHOICE AND HIT [RETURN] >

The examples presented below were condensed from the MIXSOFT USER'S GUIDE (Piepel 2003). The user's guide versions of these examples (and many other examples) have considerably more discussion of how to use the routines and how to interpret the output than given in this brochure.

 

Example 1: Generating a {3,3} Simplex-Lattice Design

The interactive session from main routine "SL" (which calls subroutine "SIMLAT") to generate a {3,3} simplex-lattice design is as follows:

    MIXSOFT VERSION 2.4.1, JANUARY 2003

    SL AND SIMLAT VERSIONS 2.4.1, JANUARY 2003

    COPYRIGHT (C) 1989-2003, GREGORY F. PIEPEL

    ALL RIGHTS RESERVED

 

    ENTER BASENAME FOR OUTPUT FILES

    (7 CHARACTERS OR LESS) > SL33

 

    TO GENERATE A {NCOMP,K} SIMPLEX-LATTICE DESIGN:

 

    ENTER "NCOMP", THE NUMBER OF MIXTURE COMPONENTS > 3

 

    ENTER "K", ONE LESS THAN THE NUMBER OF LEVELS PER COMPONENT > 3

 

    CHOOSE OUTPUT FORMAT FOR WRITING DESIGN POINTS

    OPTIONS FOR OUTPUT FORMAT NOTATION ARE:

      1 = SCIENTIFIC WITH 4 SIGNIFICANT FIGURES (e.g., 0.2318E-01)

      2 = SCIENTIFIC WITH 6 SIGNIFICANT FIGURES (e.g., 0.231756E-01)

      3 = SCIENTIFIC WITH 8 SIGNIFICANT FIGURES (e.g., 0.23175644E-01)

      4 = FLOATING POINT WITH 4 DECIMAL PLACES  (e.g., 0.0232)

      5 = FLOATING POINT WITH 6 DECIMAL PLACES  (e.g., 0.023176)

      6 = FLOATING POINT WITH 8 DECIMAL PLACES  (e.g., 0.02317564)

    IF MORE THAN 2 DIGITS BEFORE THE DECIMAL, CAN NOT USE OPTIONS 4, 5, OR 6

    CHOOSE A VALUE FROM 1 TO 6 > 4

 

The contents of the SL33.SLO output file are given in Output Listing 1. "SL" produced another output file named SL33.SLD, which contains only the design points, but it is not shown here.



Output Listing 1. The SL33.SLO Output File Containing the {3,3} Simplex-Lattice Design for Example 1

 MIXSOFT VERSION 2.4.1, JANUARY 2003

 SL AND SIMLAT VERSIONS 2.4.1, JANUARY 2003

 COPYRIGHT (C) 1989-2003, GREGORY F. PIEPEL

 ALL RIGHTS RESERVED

 

      #   { 3, 3} SIMPLEX-LATTICE DESIGN POINTS

 

      1   1.0000  0.0000  0.0000

      2   0.6667  0.3333  0.0000

      3   0.6667  0.0000  0.3333

      4   0.3333  0.6667  0.0000

      5   0.3333  0.3333  0.3333

      6   0.3333  0.0000  0.6667

      7   0.0000  1.0000  0.0000

      8   0.0000  0.6667  0.3333

      9   0.0000  0.3333  0.6667

     10   0.0000  0.0000  1.0000

 

Example 2: Computing the Number of Extreme Vertices for a Mixture Constraint Region Defined by Lower and Upper Bounds on the Components

Main routine "NEV", which calls subroutine "NVERT", is used to compute the number of extreme vertices for a five-component alloy constraint region defined by the lower and upper bounds:

      0.03 <= Copper   <= 0.10      0.35 <= Nickel <= 0.65      0 <= Aluminum <= 0.15
 
      0    <= Chromium <= 0.15      0.10 <= Iron   <= 0.30

The "NEV" interactive session for Example 2 is given below.

    MIXSOFT VERSION 2.4.1, JANUARY 2003
    NEV AND NVERT VERSIONS 2.4.1, JANUARY 2003
    COPYRIGHT (C) 1989-2003, GREGORY F. PIEPEL
    ALL RIGHTS RESERVED
 
    ENTER BASENAME FOR INPUT AND OUTPUT FILES
    (7 CHARACTERS OR LESS) > alloy
 
    FILE 'ALLOY.BND' CONTAINING THE NUMBER OF COMPONENTS AND COMPONENT
    LOWER AND UPPER BOUNDS EXISTS. DO YOU WANT TO GET THIS INFORMATION
    FROM THE FILE (F) OR BE PROMPTED (P) FOR IT?
    (ENTER F OR P) > f
 
    CHANGE DEFAULT TOLERANCE FOR COMPARING VALUES TO ZERO?
    [DEFAULT = 0.1000E-05]   (Y=YES, N=NO) > N
 
    THE DEFAULT TOLERANCE VECTOR FOR COMPONENT VALUES IS:
      TOLV( 1) = 0.5000E-04
      TOLV( 2) = 0.5000E-04
      TOLV( 3) = 0.5000E-04
      TOLV( 4) = 0.5000E-04
      TOLV( 5) = 0.5000E-04
    DO YOU WANT TO CHANGE THIS TOLERANCE VECTOR? (Y=YES, N=NO) > N
 
    THERE ARE 22 EXTREME VERTICES.

"NEV" got the number of components and the component lower and upper bounds from the input file ALLOY.BND, which was produced (not shown here) with main routine "BNDS". An output file ALLOY.NEV was produced, but is not shown here because it just contains a summary of the interactive session.

Note that responses to prompts can be in lower or upper case.

 

Example 3: Generating the Extreme Vertices for a Mixture ConstraintRegion Defined by Lower and Upper Bounds on the Components

Main routine "VERT" is used to generate the extreme vertices for the five-component alloy problem of Example 2. The interactive session is below:

    MIXSOFT VERSION 2.4.1, JANUARY 2003

    VERT VERSION 2.4.1, JANUARY 2003

    COPYRIGHT (C) 1989-2003, GREGORY F. PIEPEL

    ALL RIGHTS RESERVED

 

    ENTER BASENAME FOR INPUT AND OUTPUT FILES

    (7 CHARACTERS OR LESS) > ALLOY

 

    FILE 'ALLOY.BND' CONTAINING THE NUMBER OF COMPONENTS AND COMPONENT

    LOWER AND UPPER BOUNDS EXISTS.  DO YOU WANT TO GET THIS INFORMATION

    FROM THE FILE (F) OR BE PROMPTED (P) FOR IT?

    (ENTER F OR P) > F

 

    CHANGE DEFAULT TOLERANCE FOR COMPARING VALUES TO ZERO?

    [DEFAULT = 0.1000E-05]   (Y=YES, N=NO) > N

 

    THE DEFAULT TOLERANCE VECTOR FOR COMPONENT VALUES IS:

      TOLV( 1) = 0.5000E-04

      TOLV( 2) = 0.5000E-04

      TOLV( 3) = 0.5000E-04

      TOLV( 4) = 0.5000E-04

      TOLV( 5) = 0.5000E-04

    DO YOU WANT TO CHANGE THIS TOLERANCE VECTOR? (Y=YES, N=NO) > N

    THE CONSTRAINT REGION HAS      22 VERTICES.

 

    COMPUTE ALL OR A FRACTION OF THE VERTICES?

    (0=ALL, 1=FRACTION) > 0

 

    CHOOSE OUTPUT FORMAT FOR WRITING VERTICES

    OPTIONS FOR OUTPUT FORMAT NOTATION ARE:

      1 = SCIENTIFIC WITH 4 SIGNIFICANT FIGURES (e.g., 0.2318E-01)

      2 = SCIENTIFIC WITH 6 SIGNIFICANT FIGURES (e.g., 0.231756E-01)

      3 = SCIENTIFIC WITH 8 SIGNIFICANT FIGURES (e.g., 0.23175644E-01)

      4 = FLOATING POINT WITH 4 DECIMAL PLACES  (e.g., 0.0232)

      5 = FLOATING POINT WITH 6 DECIMAL PLACES  (e.g., 0.023176)

      6 = FLOATING POINT WITH 8 DECIMAL PLACES  (e.g., 0.02317564)

    IF MORE THAN 2 DIGITS BEFORE THE DECIMAL, CAN NOT USE OPTIONS 4, 5, OR 6

    CHOOSE A VALUE FROM 1 TO 6 > 4

 

    WRITE EXTREME VERTICES TO .XVT FILE? (Y = YES, N = NO) > Y

 

    GENERATING EXTREME VERTICES . . . . . .

"VERT" calls subroutine "NVERT" to compute the number of vertices when all are to be generated ("VERT" can also generate a fraction of the vertices, but this is not illustrated here). This is performed as a check to make sure there are not more vertices than the memory allotted to store them.

The output file ALLOY.XVT containing a full summary of the run is given in Output Listing 2. "VERT" produces another output file containing only the extreme vertices, but that file is not shown here.

 

Output Listing 2. The ALLOY.XVT Output File Containing a Full Summary of the "VERT" Run (Including all the Extreme Vertices) for the Five-Component Alloy Problem of Example 3

 

 MIXSOFT VERSION 2.4.1, JANUARY 2003

 VERT VERSION 2.4.1, JANUARY 2003

 COPYRIGHT (C) 1989-2003, GREGORY F. PIEPEL

 ALL RIGHTS RESERVED

 

  5 COMPONENTS

 

 COMPONENT     LOWER BOUNDS     UPPER BOUNDS

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

     1         0.300000E-01     0.100000E+00

     2         0.350000E+00     0.650000E+00

     3         0.000000E+00     0.150000E+00

     4         0.000000E+00     0.150000E+00

     5         0.100000E+00     0.300000E+00

 

 TOLERANCE VALUE = 0.1000E-05

 

 COMPONENT VALUE TOLERANCE VECTOR

   TOLV( 1) = 0.5000E-04

   TOLV( 2) = 0.5000E-04

   TOLV( 3) = 0.5000E-04

   TOLV( 4) = 0.5000E-04

   TOLV( 5) = 0.5000E-04

 

THE CONSTRAINT REGION HAS       22 VERTICES.

 

 ALL VERTICES:      22 OBTAINED

 

      1   0.1000  0.6500  0.0000  0.0000  0.2500

      2   0.1000  0.6500  0.1500  0.0000  0.1000

      3   0.1000  0.6500  0.0000  0.1500  0.1000

      4   0.0300  0.6500  0.0000  0.1500  0.1700

      5   0.0300  0.6500  0.0700  0.1500  0.1000

      6   0.0300  0.6500  0.1500  0.0000  0.1700

      7   0.0300  0.6500  0.1500  0.0700  0.1000

      8   0.0300  0.5700  0.1500  0.1500  0.1000

      9   0.1000  0.5000  0.1500  0.1500  0.1000

     10   0.0300  0.6500  0.0200  0.0000  0.3000

     11   0.0300  0.6500  0.0000  0.0200  0.3000

     12   0.0500  0.6500  0.0000  0.0000  0.3000

     13   0.1000  0.6000  0.0000  0.0000  0.3000

     14   0.0300  0.5200  0.0000  0.1500  0.3000

     15   0.1000  0.4500  0.0000  0.1500  0.3000

     16   0.0300  0.5200  0.1500  0.0000  0.3000

     17   0.1000  0.4500  0.1500  0.0000  0.3000

     18   0.0300  0.3700  0.1500  0.1500  0.3000

     19   0.1000  0.3500  0.1500  0.1500  0.2500

     20   0.1000  0.3500  0.1000  0.1500  0.3000

     21   0.1000  0.3500  0.1500  0.1000  0.3000

     22   0.0500  0.3500  0.1500  0.1500  0.3000

 

 

Example 4: Generating Extreme Vertices for Constraint Regions Involving Multiple-Component Constraints

Main routine "MCCVRT" generates extreme vertices of mixture constraint regions involving multiple-component constraints written in the form

                A1x1 + A2x2 + ... + Aqxq + A0  >=  0 ,                                     (1)

where A1, ..., Aq, A0 are real-valued coefficients and x1, ..., xq are the proportions of the mixture components. In this example, "MCCVRT" is applied to a 7-component aluminum bath electrolyte problem. The single- and multiple-component constraints are listed below.

Single-Component Constraints

 0.51 <= Cryolite  <= 0.98      0 <= MgF2 <= 0.10
 
 0.03 <= AlF3      <= 0.15      0 <= KF   <= 0.10
 
 0.02 <= Al2O3     <= 0.08      0 <= LiF  <= 0.06
 
 0    <= CaF2      <= 0.10

Multiple-Component Constraints

      CaF2 + MgF2 <= 0.10       0.08 <= Cryolite <= 1.30 AlF3

The "MCCVRT" interactive session is given below.

MIXSOFT VERSION 2.4.1, JANUARY 2003

MCCVRT VERSION 2.4.1, JANUARY 2003

COPYRIGHT (C) 1989-2003, GREGORY F. PIEPEL

ALL RIGHTS RESERVED

 

ENTER BASENAME FOR INPUT AND OUTPUT FILES

(7 CHARACTERS OR LESS) > elec7

 

CREATE INPUT FILE FOR "AEVC"? (Y=YES, N=NO) > Y

 

ARE THERE ANY MIXTURE VARIABLES? (Y=YES, N=NO) > Y

 

WRITE INITIAL EXTREME VERTICES TO .FUL OUTPUT FILE? (Y=YES, N=NO) > Y

 

WRITE FINAL EXTREME VERTICES TO .FUL OUTPUT FILE? (Y=YES, N=NO) > Y

 

CHOOSE OUTPUT FORMAT FOR WRITING VERTICES

OPTIONS FOR OUTPUT FORMAT NOTATION ARE:

  1 = SCIENTIFIC WITH 4 SIGNIFICANT FIGURES (e.g., 0.2318E-01)

  2 = SCIENTIFIC WITH 6 SIGNIFICANT FIGURES (e.g., 0.231756E-01)

  3 = SCIENTIFIC WITH 8 SIGNIFICANT FIGURES (e.g., 0.23175644E-01)

  4 = FLOATING POINT WITH 4 DECIMAL PLACES  (e.g., 0.0232)

  5 = FLOATING POINT WITH 6 DECIMAL PLACES  (e.g., 0.023176)

  6 = FLOATING POINT WITH 8 DECIMAL PLACES  (e.g., 0.02317564)

IF MORE THAN 2 DIGITS BEFORE THE DECIMAL, CAN NOT USE OPTIONS 4, 5, OR 6

CHOOSE A VALUE FROM 1 TO 6 > 1

 

CHOOSE OUTPUT FORMAT FOR WRITING CONSTRAINTS

OPTIONS FOR OUTPUT FORMAT NOTATION ARE:

  1 = SCIENTIFIC WITH 4 SIGNIFICANT FIGURES (e.g., 0.2318E-01)