Fuzzy programming

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Revision as of 19:26, 23 November 2020 by Kpc654 (talk | contribs)
Jump to navigation Jump to search

Authors: Kyle Clark, Matt Schweider, Tommy Sheehan, Jared Melancon (SYSEN 6800, Fall 2020)

Steward: TA's name, Fengqi You

Introduction

Fuzzy Programming is an optimization model that deals with performing optimization in the presence of uncertainty. This optimization technique is used when determining the exactness of a system's performance criteria/parameters and decision variables is not possible. Specifically, the truth values associated with the system can be completely false (0), completely true (1), or some value between the two extremes. This aims to capture the concept of partial truth. One approach to account for uncertainty in a system is to model the uncertainty using probability distributions, also know as statistical analysis. However, sometimes uncertainty can be better described using qualitative adjectives, or 'Fuzzy' statements, such as young or old, and hot or cold, because clear boundaries do not necessarily exist [1]. Fuzzy Programming is built on the concept of Fuzzy Logic. The motivation for Fuzzy Logic, or more precisely Fuzzy Set Theory, is to accurately model and represent real world data which is often 'Fuzzy' due to uncertainty. This uncertainty can be introduced into a system by a number of factors such as imprecision in measurement tools or due to the use of vague language. The examples present below will show these concepts [2].

Fuzzy Logic

While Boolean Logic is used to describe situations as completely true or completely false, Fuzzy Logic allows for a mathematical representation of partial truth or partial falsehood. Rather than having strict criteria for defining what is part of the set and what is not (e.g. hot or cold, young or old), we allow data to have a degree of membership (u) to each set. A membership function defines how each input value is mapped to a degree of membership (u) between the two extremes, 0 and 1. Membership functions can be several different types of functions. However, they are often Piece-Wise Linear Functions [3].

Failed to parse (unknown function "\leqb"): {\displaystyle u_A(x) = \begin{cases} 0,\qquad x\leqb \\ \frac{x-a}{b-a},\quad a\leqx\leq b \\ 1,\qquad x>b \end{cases}}

For instance, let's say that we have a set of values that describe temperatures over the course of a week. In Boolean logic, we could create two sets, a cold set and an hot set. We could say that temperatures [0°F, 60°F) belong to the cold set and temperatures [60°F, 100°F] belong to the hot set. However, it is not very accurate to say that 60°F is cold, but 60.1°F is hot. Instead, we could use Fuzzy Logic to describe temperatures 0°F - 40°F as definitely cold (u=1). As temperatures increase from 40°F, they are given a lower degree of membership (u<1) to describe that they are "less cold".

Applications

Example

Conclusion

The optimization technique of Fuzzy Programming is useful when qualitative adjectives are the only available descriptors for a system's performance criteria/parameters and decision variables.

References

[1] https://ecommons.cornell.edu/bitstream/handle/1813/2804/05_chapter05.pdf?sequence=16&isAllowed=y [2] https://books.google.com/books?id=IkajJC9iGxMC&pg=PA73#v=onepage&q&f=false [3] https://www.mathworks.com/help/fuzzy/foundations-of-fuzzy-logic.html#:~:text=northern%20hemisphere%20climates).-,Membership%20Functions,name%20for%20a%20simple%20concept.