Solve equations using the $\max$ function How do you solve equations that involve the $\max$ function? For example:
$$\max(8-x, 0) + \max(272-x, 0) + \max(-100-x, 0) = 180$$
In this case, I can work out in my head that $x = 92.$ But what is the general procedure to use when the number of $\max$ terms are arbitrary? Thanks for the help, here is a Python solution for the problem if anyone is interested.
def solve_max(y, a):
    y = sorted(y)
    for idx, y1 in enumerate(y):
        y_left = y[idx:]
        y_sum = sum(y_left)
        x = (y_sum - a) / len(y_left)
        if x <= y1:
            return x
print solve_max([8, 272, -100], 180)

 A: Check each of the possible cases. In your equations the "critical" points (i. e. the points where one of the max's switches) are $8$, $272$ and $-100$. For $x \le -100$ your equation reads 
\[ 8-x + 272 - x + (-100-x) = 180 \iff 180 - 3x = 180 \]
which doesn't have a solution in $(-\infty, -100]$. 
For $-100 \le x \le 8$, we have 
\[ 8-x + 272 - x = 180 \iff 280 - 2x = 180 \]
and the only solution $50\not\in [-100, 8]$.
For $8 \le x \le 272$ we have
\[ 272-x = 180 \iff x = 92 \]
so here we have a solution. 
And finally for $x \ge 272$ the equation reads 
\[ 0 = 180 \]
so no more solutions.
A: Hint: You can think of $max(8-x,0)$ as a piecewise defined function. 
$$
max(8-x,0) = \begin{cases} 0 \text{ if $ x\geq 8$} &\\ 8-x \text{ if $x \lt 8$} \end{cases}
$$ Apply this idea to other $max$ functions as well.
A: Here is the general solution for your max function. For example:
$$
\max(a_1 - b_1*x, c_1) + \max(a_2 - b_2*x, c_2) + \max(a_3 - b_3*x, c_3) = d
$$
solution steps(you can easily turn these into any programming language):
1. Calculate ratio threshhold for each max block.
$$
a_1 - b_1*x = c_1  \Rightarrow  r_1 = \frac{a_1-c_1}{b_1}
$$
2. Sort these ratios from small to large. suppose $r_1 \leq r_2 \leq r_3$
3. Initialize variables $a = \sum_{i=1}^3a_i, b=\sum_{i=1}^3b_i, a_0 = 0, b_0 =0,c_0 =0$
4. Iterate form $j = 0 \to 2$
 $a = a - a_j, b = b - b_j, d = d - c_j$
$x = \frac{a-d}{b}$
if $x \leq r_{i+1}$ break, we get the answer
else $j = j+1$  
A: In different domains, the max function will yield different values (of course!). Therefore, you can turn the max function into a piecewise function over the different domains, and then compute the zeros of a (potentially extensive) piecewise function.
For instance, you can write $\max(8-x,0)$ as $$f(x) = \left\{\begin{array}{cc} 0, & x \ge 8, \\ 8-x, & x < 8. \end{array}\right.$$
