Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Optimization algorithm to apply to my system?

  1. Nov 20, 2015 #1
    I am at the moment working on a project in which I try to minimize the annual running costs of a chemical manufacturing plant. To predict annual running costs I created a model with over 50 inputs, including things such as the type of chemicals and equipment used at different points in the process, type of renewable system used to provide energy, type of air conditioning system used at the plant, etc. Some of these inputs are binary (yes/no), while others contain a number of choices (e.g. for renewable system we have a choice of wind/solar/biogas). The model outputs a single number (overall running costs).

    Currently I am trying to optimize the system (i.e. find minimum cost) and I have studied some relevant literature. However, I am, as you might say, a optimization novice. From what I have read I do not think I have the computer power to apply dynamic programming to this system, so I am searching for a metaheuristic method such as Genetic Algorithm or PSO. However, much of the literature seems to apply these to continuous space or binary systems. I am confused as some of my variables have 3/4/5/6 possible choices. Would anybody have suggestions for how to solve my problem, or relevant literature applicable to my problem?

    Also, since the model only outputs one number, would minimizing the cost be the fitness function? Many fitness functions I see in the literature seem complex, so I wonder if one can be this simple?

    Apologies if these questions are stupid or unclear!


  2. jcsd
  3. Nov 20, 2015 #2


    Staff: Mentor

    I think you could use a genetic algorithm here. You make a solution vector of your 50 variables and then create a population of solutions by tweaking each one.

    Then you need a fitness function to score each solution vector keeping the best and discarding the rest then mix and modify the solutions for the next generation and repeat the process and after a few iterations you'll hopefully have an approximately optimal solution.

  4. Nov 21, 2015 #3


    User Avatar
    Science Advisor
    Gold Member
    2017 Award

    If all your independent variables have a finite number of discrete values, then your problem is an integer programming problem. There are algorithms to solve integer programming problems.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook