Proton Exchange Membrane Fuel Cell Parameter Extraction Using a Supply–Demand-Based Optimization Algorithm