btcrecover as suggest by nc50lc would be the best way to do this if it was possible, but it isn't.
18 unknown words in an unknown position gives 18! combinations = 6.4*10
15 combinations. Here's a post I made a few months ago with some rough benchmarks:
However, if you know the location of some of those words it would be easier (maybe possible) to brute force it. Because the difficulty increases exponentially
With good hardware, btcrecover will descramble a 12 word BIP39 seed phrase in an hour:
https://btcrecover.readthedocs.io/en/latest/Usage_Examples/2020-05-02_Descrambling_a_12_word_seed/Example_Descrambling_a_12_word_seed/. Although not exactly the same due to the checksum, lets assume that if you know 12 out of the 24 words then you could descramble the remaining 12 words in roughly the same amount of time.
If you don't know the position of 13 words instead of 12, then there are 13x as many combinations to try, so that would take roughly 13 hours.
For 14 words, 7 days.
For 15 words, 16 weeks.
For 16 words, 5 years.
For 17 words, 85 years.
For 18 words, 1500 years.
Even assuming you can rent hardware which can test 1 million combinations a second, then you are still looking at over 200 years to exhaust the search space. The amount of hardware you would need to rent to solve this in a reasonable amount of time will almost certainly cost orders of magnitude more than whatever coins you have in that wallet.