Hello everyone!
Please someone help explain why when I try to generate vertices for more than one floor, I get vertices for one floor and (0,0)vertices for other floors. the aim of this program is to generate vertices for a building with minimized building envelope(i.e the area of the whole building). Attached is the source code created in IBM ILOG CPLEX Optimisation Studio version 12.4
Any help rendered will be highly appreciated.
Thank you.
Topic
This topic has been locked.
2 replies
Latest Post
 20130322T01:11:20Z by SystemAdmin
ACCEPTED ANSWER
Pinned topic Help!! I cannot figure out where the problem is...
20130129T00:36:24Z

Answered question
This question has been answered.
Unanswered question
This question has not been answered yet.
Attachments
Updated on 20130322T01:11:20Z at 20130322T01:11:20Z by SystemAdmin

ACCEPTED ANSWER
Re: Help!! I cannot figure out where the problem is...
20130301T18:13:28Z in response to SystemAdminHi,
First, my apologies for getting back to you so lately, and I hope you have solved your problem independently.
I've been running your model with COS12.5 and tried your model with TimeLimit=120 to see what kind of solution you get:
250.7454098705181 1 0 0 0 0 0 0 0 0 250.7454098705181 2 7 13 4 0 0 0 0 0 193.1655047636558 1 0 0 0 0 0 0 0 0 193.1655047636558 2 0 0 4 7 9 3 0 0 191.4177897940998 1 0 0 0 0 0 0 0 0 191.4177897940998 2 0 0 4 8 7 1 0 0 189.8425598373151 1 0 0 0 0 0 0 0 0 189.8425598373151 2 2 0 1 0 3 6 10 4 179.5644436179416 1 0 0 0 0 0 0 0 0 179.5644436179416 2 2 0 10 3 4 6 2 4 168.5311006424702 1 0 0 0 0 0 0 0 0 168.5311006424702 2 5 0 2 3 4 6 10 4 166.4180795051958 1 0 0 0 0 0 0 0 0 166.4180795051958 2 5 0 2 3 4 7 9 4 165.1535019386117 1 0 0 0 0 0 0 0 0 165.1535019386117 2 5 0 2 4 4 7 9 4 163.7964645562817 1 0 0 0 0 0 0 0 0 163.7964645562817 2 5 0 2 4 5 7 9 4
which is normal you don't have set per floor area constraint, so it is normal that some floor may have null area. Your constraint is on the sum of areas. So your model should probably state:
forall(f in Floor) { Area3[f] >= 49 ; Area3[f] <= 70; }
instead of :
Area >= 49 && Area <= 70;
which only constrains the global area. And you need also to replace:
dexpr float Area1[f in Floor] = ((sum(f in Floor, i in aPoints)((x[f][i1]*y[f][i])(x[f][i]*y[f][i1])))); dexpr float Area2[f in Floor] = ((sum(f in Floor)((x[f][numPoints]*y[f][1])(x[f][1]*y[f][numPoints]))));
where expressions won't actually uses the index of the floor since 'f' is redefined in the sum, with:
dexpr float Area1[f in Floor] = ((sum(i in aPoints)((x[f][i1]*y[f][i])(x[f][i]*y[f][i1])))); dexpr float Area2[f in Floor] = ((x[f][numPoints]*y[f][1])(x[f][1]*y[f][numPoints]));
I hope this helps, and sorry again for the late answer.
Cheers,
ACCEPTED ANSWER
Re: Help!! I cannot figure out where the problem is...
20130322T01:11:20Z in response to rdumeurOh my God!! Thank you very much.....It works perfectly. No worries about the late reply, I am so happy to get the solution...WOW!!! :)
