First you have to assume the homeless see themselves as a problem that is need of a solution. Salt Lake City is a good example. There are some OUTSTANDING shelter and relief agencies that provide long term care. In addition, the City has invested in apartments and case workers for the homeless. Costs 12-15k a year last I saw. The cost is offset by the amount of money saved by state funded behavioral health placement (at 1.8k a night), jail, emergency room visits, etc. As much as I believe in personal responsibility, it is also fiscally responsible to take a real swing at the problem.
Malcolm Gladwell wrote a chapter about a guy they called Million Dollar Murray in Reno Nevada. He was homeless and an addict. They estimate the state paid over a million dollars to NOT actually help Murray. In the end, he died of an overdose. Money spent does not mean money well spent.
The main shelter in SLC is private owned and run. They always have a bed, even in the dead of winter. If you dont sign up for the program you can still get a bed starting at 5pm, out by 8, and they provide 3 hot meals. If you sign up for their program you can progress through stages where you share semi private rooms, then private rooms, then they set you up in an apartment you actually have paid for by working in the shelter. It gives people a chance to catch their breath, get on their feet, stay clean, and move forward.
There are however a large number of people that would rather just sleep in the park, panhandle, and stay out year round. You cant fix everyone. You cant even help some people.