First of all, this is a Serious Algorithm. And the Serious Algorithms are very rarely implemented using something which has the words "Visual Basic" in it. Like it or not, this is just the real fact of life. It it could be VB.NET, it would be much easier, because you could possibly find C# or C++ implementation, which you could compile for .NET (in case of C++, using C++/CLI managed project) and use in your assembly written in VB.NET. (However, I don't know a single reason to write anything in any kind of Basic except VB.NET, so this option could be applicable anyway).
Please see, and the references to this article:
In very worst case, you can learn how algorithm works and write/rewrite it in the language you want.
[EDIT: after OP's clarification: this is VB.NET:]
Thank you for clarification. As this is VB.NET, all my suggestions can work. For C++ way, please see:
I already explained what to do with that: created a C++/CLI managed (.NET) project, wrap this code in managed "ref" classes or structures, make them public, reference resulting assembly in your VB.NET project.
This is a CodeProject on C# implementation:
Simulated Annealing Example in C#
I would also consider just reading the pseudo-code from the Wikipedia article referenced first, above, and implementing it directly.