the MD-5 algorithm
Don't do that, it is unsafe. First, because the output hash has only 128 bits, so just bruteforcing will make collisions after 2^64 hashes. And also, there are known MD5 collisions, which means, that users could make colliding blocks in seconds, and then send different versions to different nodes.
the RIPEMD-160 algorithm
If you don't want to make weak chain for testing, then don't use 160-bit hashes. The current Bitcoin network can produce blocks with 80 leading zero bits for double SHA-256, so for 160-bit hash functions with similar complexity, you could have a single collision per 10 minutes, if your network would be successful.
and the SHA algorithm
Which version? SHA-1 is broken, and has known collisions. And the original SHA-0 is unsafe, because you can break it after around 2^32 hashes. The easiest choice is of course double SHA-256, just like in Bitcoin, but then you have to know, how to implement Merged Mining properly. Of course, using next versions like SHA-3 is also an option, but they have different internal structure.
using randomx algorithm
Why exactly this algorithm? Because if you want to block ASIC mining, then be aware, that if your hash function will be too complex, then it will also slow down blockchain validation significantly. I saw CPU-mined coins, with just few GB blockchain, which can take months to validate.
And also note, that you don't have to replace SHA-256 everywhere, like some altcoins did, because then, it may slow down merkle tree construction, transaction hashing, change meaning of opcodes like OP_HASH256, and so on.
You might want to start with a early version of Bitcoin if your looking to make changes.
Not only that, but you can also improve many things, instead of copy-pasting some design mistakes. For example: you probably don't have to support uncompressed public keys, DER signatures, FindAndDelete way of hashing transactions (and clearly separate hashed data from signatures from the very beginning), and so on.