Step 1: Test the given options directly in the word statement.
Instead of building the equation first, we can check each candidate age against the sentence: "twice his age 2 years hence minus twice his age 3 years ago equals half his present age."
Step 2: Try option (a), $x = 15$.
Age 3 years ago $= 12$, doubled $= 24$. Age 2 years hence $= 17$, twice $= 34$.
$34 - 24 = 10$. Half of present age $= 7.5$. Since $10 \ne 7.5$, this option fails.
Step 3: Try option (b), $x = 20$.
Age 3 years ago $= 17$, doubled $= 34$. Age 2 years hence $= 22$, twice $= 44$.
$44 - 34 = 10$. Half of present age $= 10$. Since $10 = 10$, this option satisfies the condition exactly.
Step 4: Try option (c), $x = 24$, to confirm it fails.
Age 3 years ago $= 21$, doubled $= 42$. Age 2 years hence $= 26$, twice $= 52$.
$52 - 42 = 10$. Half of present age $= 12$. Since $10 \ne 12$, this option fails.
Step 5: Notice the pattern and conclude.
In every case, twice the future age minus twice the past age equals a constant value of 10, since the $x$ terms always cancel. So the only age that can work is the one where half the present age also equals 10, which is $x = 20$. Option (d) is therefore not required.
\[ \boxed{20 \text{ years}} \]