Simplex Optimization Algorithms for Laboratory and Manufacturing Processes

Simplex optimization algorithms as firstly proposed by Spendley et al. (1962) and later modified by Nelder and Mead (1965) for laboratory and manufacturing processes. The package also provides tools for graphical representation of the simplexes and some example response surfaces that are useful in illustrating the optimization process.


labsimplex

This package implements the simplex algorithms (fixed and variable step-size) for laboratory and proccess optimizations.

Installation

The development versión of labsimplex can be installed using install_github() function from devtools package:

devtools::install_github(repo = 'crparedes/labsimplex', build_vignettes = TRUE)

The released version of labsimplex is available from CRAN with:

install.packages("labsimplex")

Example

This is a basic example which shows you how to start an optimization procces:

Suppose there is a reaction taking place in water at determinate pH and temperature. Both variables have shown to have effect on the yiel of the reaction and the purposse is to maximize it. Ussually the reaction is made at 350 °C and pH 5.5. This will be the starting point. Rational changes can be made in steps of 10°C and 0.5 units of pH for each variable.

library(labsimplex)
yield <- labsimplex(n = 2, start = c(350, 5.5), var.name = c('Temp', 'pH'),
                    stepsize = c(10, 0.5))
print(yield)
#> Current simplex:
#>           Temp   pH . Response Label Nature
#> Vertex.1:  350 5.50 |       NA    NA      S
#> Vertex.2:  340 5.75 |       NA    NA      S
#> Vertex.3:  340 5.25 |       NA    NA      S
#> 
#> Conventions:
#>     Labels:                    Nature:
#>        W: Worst or Wastebasket    S:  Starting
#>        N: Next to the worst       R:  Reflected
#>        B: Best                    E:  Expanded
#>                                   Cr: Contraction on the reflection side
#>        D: Disregarded             Cw: Contraction on the worst side
#> 
#>       Use print(..., conventions = FALSE) to disable conventions printing.

Is possible to plot the simplex object to visualize the coordinates of the vertexes:

plot(yield)

The experiments corresponding to the Temp. and pH values indicated for each vertex must be performed and the response must be recorded. Suppose the responses for vertexes 1 to 3 were 57%, 65% and 54% respectively. The new vertex can be generated and the simplex movement can be visualized again ploting the simplex.

generateVertex(simplex = yield, qflv = c(57, 65, 54), overwrite = TRUE)
#> New vertex to be evaluated: 
#> Temp   pH 
#>  350    6
plot(yield)

For more information, read the package manual and vignette.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("labsimplex")

0.1.2 by Cristhian Paredes, 6 years ago


Browse source code at https://github.com/cran/labsimplex


Authors: Cristhian Paredes [aut, cre] , Jesús Ágreda [aut]


Documentation:   PDF Manual  


GPL (>= 2) license


Imports scatterplot3d, ggplot2

Suggests knitr, rmarkdown, FrF2


See at CRAN