Your general algorithm for problem solving.

Everyone has problems. A lot of problems to solve. How do I solve that complex problems? Here I'll try to present a general  algorithm in some pseudo code language.

First of all few intro axioms, to make you understand the concept better:

1. every problem is solvable

2. Problem will not solve itself in most of the cases. It's better to understand that If you are not taking any actions, problem will remain unsolved (unless the external situation will change or some external power will change it).

3. It's always better to have plan than don't have it. A good plan is a key to success =)

Below please find (and follow! =)) the actual algorithm. Take it serious, because if you'll folow it it's really works.




define $PROBLEM 
define $DESIRABLE_FINAL_STATE with $MINIMAL_REQUIREMENTS  
 
create $SOLUTIONS_LIST with solutions known by you  
 
do RESEARCH  
  include ASKING_PEOPLE  
  include SEARCH of SIMILAR_PROBLEMS AND THEIR SOLUTIONS in the history
  include BRAINSTORMING  
  add $POSSIBLE_SOLUTION to $SOLUTIONS_LIST  
until $SOLUTIONS_LIST is not BIG ENOUGH  
 
order $SOLUTIONS_LIST from the most desirable solution to the least_desirable.

set $MINIMUM_N_POINTS from the $SOLUTIONS_LIST 
#MININUM_N_POINTS that should be completed to satisfy your minimal requirements.

select $POSSIBLE_SOLUTION from $SOLUTIONS_LIST  
 then do:
   implement $POSSIBLE_SOLUTION with no hesitating or thinking 
   if implemetation($POSSIBLE_SOLUTION) is successful
   then $COMPLETED_POINTS = $COMPLETED_POINTS + 1 
   else analize('why solution was not successful?')  
 till $COMPLETED_POINTS < $MINIMUM_N_POINTS




Notes: SOLUTIONS_LIST may contain different levels of specificity. For example you may define in general like (ex. You want to gain mussels) "Go to the gym". Or you can be specific. Go to the gym today. Go to the gym on next Friday. etc.
More specific ways are highly proffered, however there's no need to do it highly specific too.

Below you will find few real life cases of algorithm usage. I'll write down sample algorithms for each of the case some time later. Some of them you can define as not a problem but task to achieve. You can define it either way.
1. Do not have a job. Want to work for a big, famous company. And make 2000$ per month.
2. Do not have enough time. Want to have more things done in a day.
3. Do not have a girlfriend. ...
4. Stress. Want to be stress-free person.
5. Body shape is not desirable. Want to look better.
6. Want to know personally every person in the city (be famous)
....

At the end don't forget about very important notes:
Note 1: Here I suppose that you thought about a problem carefully before solving it on your own. Because actually most of the problems we have are just our imagination and are not actually real problems. To solve them we just need to change our mind. So if you have any doubts rethink it twice before actual problem solving. Otherwise it could take you a lot of efforts.
Note 2: Before solving problem on your own think if someone else can solve it for you. Yes! Delegate the work to someone! You will not have the time to solve all the problems you have. Think about the advantages and disadvantages in each case and choose the way that will give you maximum results with minimal efforts and resources from you. If the problem can be solved by someone - delegate it!
Note 3: After you though carefully and know that the problem is real, after you started problem solving don't think of hesitate at all - just follow the algorithm! Thinking and hesitating during the process will take all your precious power and motivation, so again don't do it.

I've applied mentioned algorithm in practice quite often and it always worked for me. What about you? Do you think it'll work for you as well? Let me know what you think about it in comments! =)