How do we combat the homeless issue?

Je

I live in a city with a very high homeless population (Portland OR) and I live in downtown portland so there is a lot of homeless people living there. I have often given money , food to these people as I try to help in small ways that I can. But I wonder how to look at the bigger picture. In what ways can we combat homelessness from the beginning? Some things I would suggest would making rehab less expensive so people who are using could get clean. Apparently some programs will only help you if you are sober. I feel sad that these people are living in these conditions that are often unsafe and unsanitary. What would be other ways to help the homeless crisis go down?