Solving big problems works better when you can solve the small problems they're composed of. First figure out how to catch, kill, or deter a mouse and then expand the solution to the rest of the house.
You're way to focused on the concept of elasticity. There's a lot more to figure out before that's the immediate problem.
You're making it sound like this is some difficult research problem. The answer to homelesness is simple: give them homes. Give them food. Give them money. This is how it works in every industrial society that's solved the problem.
Your error is that you're obsessed with trying to fix this within a market economy, by specifically housing them in areas of high economic activity where they can supposedly find "opportunity". That won't work and is counterproductive.
Making people permanently dependent doesn't work either. This country has entire communities subsisting on Medicare and social security. We don't need more of them. There's plenty of space in the places that have jobs and no reason to exclude people.
If you're convinced that you should be making everyone work instead of subsidizing their existence (which is much cheaper), you need to bring jobs outside of the city. Telling everyone to just live in San Francisco doesn't scale.
You're way to focused on the concept of elasticity. There's a lot more to figure out before that's the immediate problem.