Sorry. But isn’t the real issue that people are people and you can’t mandate a technical solution for human behaviour. Instead of berating people for using simple passwords or forcing them down the road of ultimately recording (usually on a post-it note) their complex password why not try providing them with a personal way they can create and remember their own complex password.
Ask them to create their own personal cypher. For example a three letter easy to remember word or name that means something to them. Let’s use “car” in this example to create a nine letter complex password.
Let’s break the nine characters down to a 4-2-3 code where the “c” in car is the first four characters and is the first four characters of the persons car registration with the first character always replaced with a $ i.e. $A65. The next two characters “a” are your current age 45. The final three characters “r” for revision are a lowercase letter for the month and the final two characters represent the year n17. So in this example the full complex password is $A6545n17. You would then change the sections as appropriate the next time you are asked to change the password – usually only the final three characters in this example.
The point is the cypher and how it is broken down and incremented should be the province of the person and be personal to them. It will be memorable to them as they should come up with their own little bit of James Bond style code that only they can break and it uses techniques that will help them remember their own complex password because they can always break their own code and will remember every password they would have used. This is of course assuming they don’t just use the example above or given to them to generate their passwords.