[R] optimize function help!!
emir.toktar at computer.org
emir.toktar at computer.org
Mon Jul 21 21:35:27 CEST 2008
Dear R users,
I´m trying to optimize simultaneously two binomials inequalities used to
acceptance sampling, which are nonlinear solution, so there is no simple
direct solution.
The 'n' represents the sample size and the 'c' an acceptance number or
maximum number of defects (nonconforming) in sample size.
The objective is to obtain the smallest value of 'n' (sample size)
satisfying both inequalities:
(1-alpha) <= pbinom(c, n, p1) && pbinom(c, n, p2) <= beta
--> where p1 and p2 are probabilities (Consumer and Producer risks);
Considering that the 'n' and 'c' values are integer variables, it is
commonly not possible to derive an OC curve including the both (p1,1-alpha)
and (p2,beta) points. Some adjacency compromise is commonly required,
achieved by searching a more precise OC curve with respect to one of the
points.
I´m using Mathematica 6 but it is a Trial, so I would like use R intead
(better, I need it)!
In Mathematica I call a parameter called restriction:
// fucntion name "findOpt" and parameters...
restriction = (1 - alpha) <= CDF[BinomialDistribution[sample_n, p1], c]
&&
betha >= CDF[BinomialDistribution[sample_n, p2], c] &&
0 < alpha < alphamax && 0 < betha < bethamax &&
1 < sample_n <= lot_Size &&
0 <= c < amostra &&
p1 < p2 < p2max ;
fcost = sample_n/lot_Size;
result = NMinimize[{fcost, restriction}, {sample_n, c, alpha, betha,
p2max},
Method -> "NelderMead", AccuracyGoal -> 10];
example:
findOpt[0.005, 1000, 0.05, 0.05, 0.04] ==> and I got the return of
values of; "n", "c",
alpha and betha, computed.
{0.514573, {alpha$74 -> 0.0218683, sample_n$74 -> 155.231,
betha$74 -> 0.05, c$74 -> 2, p2$74 -> 0.04}}
.:. Note that I´m using lot_Size because I'm using hypergeomtric in some
situations...
Using R, I would define the "pbinom(c, n, prob)" given only the minimum
and maximum values to "n" and "c" and limits to p1 and p2 probabilities
(Consumer and Producer).
The optimize I could define only using the p1 point, because the "n" and "c"
values, are integers and I couldn´t run the example like in mathematica.
Could anyone help me
Thank you very much.
Emir Toktar
emir.toktar at computer.org
More information about the R-help
mailing list