Dynamic Programming: An Optimization Tool Applied To Mobile Robot Navigation And Resource Allocation For Wildfire Fighting