Books · The Fiddler: Solutions
Chapter 80
Can You Make the Biggest Bread Bowl?
You have a hemispherical loaf of bread of radius foot, flat side down. You hollow out a bread bowl by boring a cylindrical hole of radius , centred on the vertical axis through the top of the dome and reaching all the way down to the flat bottom crust. What radius maximises the volume of soup the bowl can hold?
The Fiddler, Zach Wissner-Gross, October 18, 2024(original post)
Solution
The bowl is the cylindrical hole, and the dome sets how deep it can go. A point on the cylinder’s wall sits at distance from the axis and meets the curved crust at height above the flat base; above that the bread is gone. So the cylinder reaches height , and the soup volume is Maximising gives , hence , so and the bowl holds cubic feet.
The computation
Maximise the soup volume itself: search to minimise on .
import numpy as np
from scipy.optimize import minimize_scalar
r = minimize_scalar(lambda r: -r**2 * np.sqrt(1 - r**2),
bounds=(0, 1), method='bounded').x
print(r, np.sqrt(2 / 3)) # 0.81650 0.81650
Extra Credit
Now the bread is a full sphere of radius . You bore a cylinder whose axis passes through the centre, reaching down to but not through the curved bottom crust. What radius maximises the soup?
Solution
The cylinder of radius now fits between the lower and upper crust, from height to , so its usable depth doubles to and The constant factor of two does not move the maximiser, so the optimal radius is again and the sphere simply holds twice the soup, cubic feet. The best proportions of the bowl do not care whether the loaf is a dome or a full sphere.
The computation
The same search on the doubled volume returns the same radius.
r = minimize_scalar(lambda r: -2 * r**2 * np.sqrt(1 - r**2),
bounds=(0, 1), method='bounded').x
print(r, np.sqrt(2 / 3)) # 0.81650 0.81650