Satisficing is to accept the first-seen option that met certain thresholds, known as aspirations. Assume options are presented as vectors $\vec{x}=(x^1,x^2,\cdots,x^k)$, and the aspiration level as $\vec{\theta}=(\theta^1,\theta^2,\cdots,\theta^k)$. There is an indicator function for accept,

and a payoff function of the option, $\phi(\vec{x})\in\mathbb{R}$. The option is assumed to be stochastic with density function $f(\vec{x})$.

The probability of an option is acceptable is

the expected payoff of any option is

and the expected payoff of an acceptable option is

Consider $N$ options presented in tandem, the decision maker must take one of them. Thus the last one must be accepted if presented. The policy would be on setting the aspiration $\vec{\theta}$ to maximize the expected payoff. Let the value of a policy at state $n$ to be $V_n(\vec{\theta})$. Then we have

and

for $n=1,\cdots,N-1$.

The goal of optimal satisficing is to find $\arg\max_{\theta\in\Omega} V_n(\theta)$. As $E[\phi(\vec{x})] < E[\phi(\vec{x}) \mid \sigma=1]$ for positive function $\phi(\vec{x})$, the optimal $\theta$ usually decreases as $n$ increases.

Heuristic satisficing is to use a fixed $\theta$ for all $n$. That is, with

to find $\arg\max_{\theta\in\Omega} V_H(\theta)$. It is found that, the value of heuristic satisficing $V_H$ has only a slight decrease from the optimal satisficing $V_1$.

Satisficing can be converted into infinite horizon: Introduce a time cost of $c$ per unit time in heuristic satisficing. The value is then

It is found that, as $c$ increases, $\theta$ decreases. This reflects that the higher the time cost, the more relaxed the aspiration have to be.

Bibliographic data

@incollection{
   title = "On Optimal Satisficing: How Simple Policies can Achieve Excellent Results",
   author = "J. N. Bearden and T. Connolly",
   booktitle = "Decision Modelling in Uncertain and Complex Environments",
   editor = "T. Kugler and J. C. Smith and T. Connolly and Y. J. Son",
   address = "New York",
   publisher = "Springer",
   year = "2008",
}