You can solve the problem via integer linear programming as follows. There are only nine useful purchases to consider, and I enumerated them by hand:
- 2 80mL bottles: cost \$20
- 1 240mL bottle: cost \$36
- 1 PET bottle: cost \$5
- 3 240mL bottles, 1 coupon: cost \$52
- 1 240mL bottle, 2 80mL bottles, 1 coupon: cost \$41
- 1 240mL bottle, 9 PET bottles, 1 coupon: cost \$61
- 4 80mL bottles, 1 coupon: cost \$20
- 2 80mL bottles, 8 PET bottles, 1 coupon: cost \$40
- 16 PET bottles, 1 coupon: cost \$60
Let nonnegative integer decision variable $x_j$ represent the number of times purchase $j$ is made. The problem is to minimize
$$20x_1 + 36x_2 + 5x_3 + 52x_4 + 41x_5 + 61x_6 + 20x_7 + 40x_8 + 60x_9$$
subject to
\begin{align}
160x_1 + 240x_2 + 720x_4 + 400x_5 + 240x_6 + 320x_7 + 160x_8 &\ge 16000 \tag1 \\
x_3 + x_5 + 9x_6 + 8x_8 + 16x_9 &\ge 32 \tag2 \\
20x_1 + 36x_2 + 5x_3 &\ge 20 \tag3
\end{align}
Constraint $(1)$ enforces the alcohol demand.
Constraint $(2)$ enforces the PET bottle demand.
Constraint $(3)$ makes sure that at least \$20 of purchases do not generate a coupon.
In principle, you can solve this without a computer, but I didn't. :)
An optimal solution, with total cost
\$1140, is $x_1=1,x_7=50,x_9=2$, with all other $x_j=0$. This solution oversatisfies the alcohol demand by 160mL.
If you instead replace constraint $(3)$ with
$$x_1 + x_2 + x_3 \ge 1 \tag4,$$
which means that at least one purchase must not generate a coupon, the resulting optimal solution, with total cost
\$1125, is $x_3=1,x_7=50,x_9=2$, with all other $x_j=0$. This solution oversatisfies the PET bottle demand by 1. Good luck getting the web site to honor a \$20 coupon for a \$5 purchase and give you a \$15 credit.