FCLP.Beta: Solves a Fuzzy Linear Programming problem with fuzzy...

Description Usage Arguments Value References See Also Examples

Description

The goal is to solve a linear programming problem having fuzzy constraints.

Max f(x) or Min f(x)

s.t.: Ax<=b+(1-β)*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 β.

FCLP.sampledBeta solves the problem in the same way than FCLP.fixedBeta but using several β's taking values in a sample of the [0,1] inteval.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
)

Arguments

objective

A vector (c1, c2, …, cn) with the objective function coefficients f(x)=c1*x1+…+cn*xn.

A

Technological matrix of Real Numbers.

dir

Vector of strings with the direction of the inequalities, of the same length as b and t. Each element of the vector must be one of "=", ">=", "<=", "<" or ">".

b

Vector with the right hand side of the constraints.

t

Vector with the tolerance of each constraint.

beta

The value of β to be used.

maximum

TRUE to maximize the objective function, FALSE to minimize the objective function.

verbose

TRUE to show aditional screen info, FALSE to hide aditional screen info.

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.

Value

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 β's if the solver has found them. If the solver hasn't found solutions for any of the β's sampled, return NULL.

References

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.

See Also

FCLP.classicObjective, FCLP.fuzzyObjective

FCLP.fuzzyUndefinedObjective, FCLP.fuzzyUndefinedNormObjective

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
## 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)

Example output

[1] "Solution is optimal."
     beta       x1        x2 objective
[1,]  0.5 3.606188 0.1744023  10.99297
     beta       x1        x2 objective
[1,] 0.00 4.315789 0.0000000 12.947368
[2,] 0.25 4.000000 0.0000000 12.000000
[3,] 0.50 3.606188 0.1744023 10.992968
[4,] 0.75 3.164557 0.4556962  9.949367
[5,] 1.00 2.722925 0.7369902  8.905767

FuzzyLP documentation built on April 11, 2021, 5:06 p.m.

Related to FCLP.Beta in FuzzyLP...