FCLP.fixedBeta | R Documentation |
The goal is to solve a linear programming problem having fuzzy constraints.
Max\, f(x)\ or\ Min\ f(x)
s.t.:\quad Ax<=b+(1-\beta)*t
Where t
means we allow not to satisfy the constraint, exceeding the bound b
at most in t
.
FCLP.fixedBeta
uses the classic solver (simplex) to solve the problem with a fixed value of \beta
.
FCLP.sampledBeta
solves the problem in the same way than FCLP.fixedBeta
but
using several \beta's
taking values in a sample of the [0,1]
inteval.
FCLP.fixedBeta(
objective,
A,
dir,
b,
t,
beta = 0.5,
maximum = TRUE,
verbose = TRUE
)
FCLP.sampledBeta(
objective,
A,
dir,
b,
t,
min = 0,
max = 1,
step = 0.25,
maximum = TRUE,
verbose = TRUE
)
objective |
A vector |
A |
Technological matrix of Real Numbers. |
dir |
Vector of strings with the direction of the inequalities, of the same length as |
b |
Vector with the right hand side of the constraints. |
t |
Vector with the tolerance of each constraint. |
beta |
The value of |
maximum |
|
verbose |
|
min |
The lower bound of the interval to take the sample. |
max |
The upper bound of the interval to take the sample. |
step |
The sampling step. |
FCLP.fixedBeta
returns the solution for the given beta if the solver has found it or NULL if not.
FCLP.sampledBeta
returns the solutions for the sampled \beta's
if the solver has found them.
If the solver hasn't found solutions for any of the \beta's
sampled, return NULL.
Verdegay, J.L. Fuzzy mathematical programming. In: Fuzzy Information and Decision Processes, pages 231-237, 1982. M.M. Gupta and E.Sanchez (eds).
Delgado, M. and Herrera, F. and Verdegay, J.L. and Vila, M.A. Post-optimality analisys on the membership function of a fuzzy linear programming problem. Fuzzy Sets and Systems, 53:289-297, 1993.
FCLP.classicObjective
, FCLP.fuzzyObjective
FCLP.fuzzyUndefinedObjective
, FCLP.fuzzyUndefinedNormObjective
## maximize: 3*x1 + x2
## s.t.: 1.875*x1 - 1.5*x2 <= 4 + (1-beta)*5
## 4.75*x1 + 2.125*x2 <= 14.5 + (1-beta)*6
## x1, x2 are non-negative real numbers
obj <- c(3, 1)
A <- matrix(c(1.875, 4.75, -1.5, 2.125), nrow = 2)
dir <- c("<=", "<=")
b <- c(4, 14.5)
t <- c(5, 6)
valbeta <- 0.5
max <- TRUE
FCLP.fixedBeta(obj, A, dir, b, t, beta=valbeta, maximum = max, verbose = TRUE)
FCLP.sampledBeta(obj, A, dir, b, t, min=0, max=1, step=0.25, maximum = max, verbose = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.