All of these solutions will waste exactly the same amount of electrical energy, and generate the same amount of heat. Each of your circuits just changes which component gets hot.
These are all what's called a linear current source. A linear current source works (by definition) by converting excess voltage to heat. If your load requires 2V to reach the desired current of 5A, and the supply is 5V, the heat (power) \$P\$ will be the excess voltage \$E\$ times the current \$I\$:
\$ P = IE = 5A(5V-2V) = 5A\cdot 3V = 15 W\$
No way around that with any linear current source. You can spread it out or move it around different components, but you will never reduce it. Blame physics. The energy has to go somewhere.
If you want to reduce the wasted energy, you probably want a switched mode power supply (SMPS). The design of such is worthy of an entire book, but if you want a quick introduction, I suggest you read How can I efficiently drive an LED? Although you aren't driving an LED, the problem is essentially the same, since LEDs are ideally also driven with a current source.
However, since it sounds like your load is a fixed \$1 \Omega\$ resistor, you don't really need a current source. A voltage source would do just as fine, since a resistor is a current - voltage converter, by Ohm's law:
\$ E = IR \$
If it's allowable in your application, a simpler solution than an SMPS is to just switch the full battery voltage over your load on and off rapidly. If your supply is 5V then this will deliver 5A to your load. You can deliver 5A or 0A with low losses, and if you need something between those, then you switch it on and off rapidly, so the average current is your desired value. For many applications, this is good enough. If not, a SMPS is basically that, with an inductor added to smooth the current out to the average value across switching cycles.
The schematic is incorrect, and you are absolutely correct the output current can never be zero with the schematic as shown.
Consider two cases:
The BSC... is off completely (this might be when Vshunt is 0 V but we can ignore this for the moment).
Under these condition the 50 uA reference current flows through the 10k to the output pin (and we have to assume here the output is shorted to ground to make things easy). The voltage developed into the error amplifier is 0.5 V .....so the (PWM generated) current through the 0.1 Ohm resistor is 5 A (there will be ripple associated with this, but lets ignore for the moment). ....so far so good, we can get to 5 A.
The BSC... is saturated, and since there is (essentially) no current from the gate side of the device, the 10k Ohm resistors are effectively in parallel and the reference voltage developed is 0.25 V. ...so the (PWM generated) current through the 0.1 Ohm resistor is 2.5 A.
So the schematic as shown does not match the graph they produced.
Now under what condition could the reference voltage into the error amplifier produce zero current through the 0.1 Ohm resistor?
If the reference voltage was zero, then the PWM would never switch on, so the current would fall to zero (once the 47 uf capacitor discharges).
To achieve a 0 V reference voltage into the error amplifier you need to divert all the 50 uA reference current to ground.
Could the LTC2054 and BSC... shunt the current? Not as shown, but if the current source was powered from a negative supply it could. If Vshunt is 0.5 v, then the BSC... is a constant current generator of 50 uA ...so we have the right current, but the ground shown for the constant current generator would have to be at least -0.5 V to be able to pull the voltage reference at the error amp down to zero.
I'd suggest the current generator could include a negative power supply of at least 1 V to be viable. This makes it less easy to generate the Vshunt, but still quite possible.
So something like this would work:
Now last thing consider the impact of a load resistance (remember I considered the load as a short circuit in all the above).
As load (resistance or offset) goes up, there will be a voltage developed at the output, and this will raise one end of the 10 K resistor. Using the alterations I proposed above, it does not matter what the output voltage is, since we only offset the voltage created between the output end of the 0.1 Ohm sense resistor and the reference voltage into the error amp.
For example, consider you were using this current generator to characterize the forward voltage of a power diode. The voltage on the output would rise to quite high (0.7 to 1 V or more) depending on the current through the device. Providing the input voltage supply is high enough then there would be no problems with higher output voltages with the LTC2054 as a pure current source. You can also get to zero current (within practical limitations) using the Vshunt voltage 0 to 0.5 V.
PS: as a significant side note to make your head spin, the schematic as shown would work at very small output currents (but unlikely to go to zero) if the output voltage were higher than 0.5 V. So in the case of a diode or zener being tested where the output voltage is over 0.5 V the Vshunt generator would work as shown in the application note. It just won't work into a resistive load where the output voltage drops below 0.5 V.
Implementing a fix
The LT2054 is a very high quality op-amp, with very low offsets.
One possible fix to get you close to zero current would be to drop the 10k Ohm resistor to 100 Ohms. Now the voltage drop to sink the 50 uA is just 5 mV.
If you want to keep the 0 - 0.5 V as the Vshunt then a 100:1 resistive divider could work.
Something like this:
simulate this circuit – Schematic created using CircuitLab
Best Answer
Try this idea: -
5mA is generated by X1 and X5 - you'll need a stable voltage source where X6 is - it's referenced to the +5V to make life easier. If you are happy with your 5V rail stability it can just be a potential divider instead of the precision zener and R6 shown. X5 (AD8628) I used on a recent job but any 5V op-amp with decent offset voltage and inputs/outputs capable of getting near either rail will work. There are Plenty of P channel FETs that will do the job too - i picked this one because it has low Vgs(threshold) and there would be no-doubt it would work across the loads and power rails.
The AD627 is fairly standard and, for every ohm that R4 changes, the output (V out) alters 394 mV. The output offset is 2.5V (with a perfectly balanced bridge) but it could be set to 1V or if you had split supplies, 0V. Good luck.