Hi, I am working on a problem. I have a set of advertisements that I need to print on a paper. The ads may be half page, quarter or full page. The advertiser may specify the location (geographical area - out of finite set of areas), intensity (number of flyers per street), and duration (weeks). They may also say they cannot be in the same page as another company's ad.

I am working on a solution that will take advertisement requests as above and output print jobs for printing ads and ad campaign directions (like distribute so and so in so and so locations for so and so period). I want the algorithm to group together similar ad pages- so I can print them together to reduce cost.

I have no idea how to start... I need some tips on where to start. What logic to use. What class of problem this is. How I can simplify the system.

I am not asking for a working algorithm. I just need a kickstart.

Thanks in advance.

Well, it seems you are starting to think about the problem. Continue to break it down in your mind and start with some pseudo-code that expresses what you are trying to accomplish. IE, write it all down, break it down, write it down again, and iterate until the problem is expressed in its most simple terms. Then, you can start encoding it in the language of your choice.

Yes I am starting to think about it. But I am getting nowhere. Thanks for the encouragement. If you have any idea that could help please share with me :)

First, you need to model your system. Break it down into classes and relationships. For example, you have customers (advertisers), advertisements, locations, etc. They have properties that express the data reflected by the objects of each class, and behavior that reflects how they act under given input and output. This is called object-oriented design, and the most frequently used tool for this modeling is UML (Unified Modeling Language). There are free graphical UML tools available on the internet that can get you started.

This article has been dead for over six months. Start a new discussion instead.