Post reply

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.

Name:
Email:
Subject:
Message icon:

shortcuts: hit alt+s to submit/post or alt+p to preview

Please read the rules before you post!


Topic Summary

Posted by: bean
« on: March 22, 2016, 09:46:34 AM »

Start from something like (1.1 * ( L - Lt ) - abs( L - Lt ) ), perhaps?
That might work.  You'd have to play with the weights, but it does give more or less the desired result. 
Posted by: DIT_grue
« on: March 22, 2016, 12:55:00 AM »

Edit:
My second example doesn't make much sense, as there's no reason to want to penalize designs for being more fuel-efficient than the target.  I can't think of a single function which does what I want there, which is to give small bonuses for exceeding the fuel economy target, but large penalties for being below it.

Start from something like (1.1 * ( L - Lt ) - abs( L - Lt ) ), perhaps?

Can a cargo ship load more than one automated mine?

Yes, provided it has the cargo space available.
Posted by: SenniTreborius
« on: March 22, 2016, 12:02:52 AM »

Can a cargo ship load more than one automated mine?
Posted by: bean
« on: March 16, 2016, 09:40:39 AM »

I'm not sure that either of those make numerical sense, which is why you're getting weird results.  I think the proper way to do this is to establish a figure of merit for the design, some function of Colonist/BP/hr (I'll call that B below) and Colonist/L (L), and then optimize that.  This is technically what you did for the second, but you need to be more explicit about the weights you use. 
The simplest FOM would be F=X*B+Y*L where X and Y are weighting factors.  You can set X to 1, and then Y becomes how many colonists/L you're willing to trade for 1 Colonist/BP/hr.  I'd have to play with the exact numbers before I'd want to guess at reasonable weights.
You can of course make more complicated weighting functions, if you want one variable to stay relatively close to a specific value while the other one fluctuates a lot.  Say you want to cut L approximately in half because you're low on fuel, but don't want to make that a hard value.  So your function might be F=X*B-Y*(L-Lt)^2 where Lt is the target L.  (The minus is because you want the value to decrease as you depart from Lt, not increase.)
Excel's solver is pretty similar.  My first thought is to use a macro and set all the constraints in there, which makes them easier to edit and much easier to re-use.
Edit:
My second example doesn't make much sense, as there's no reason to want to penalize designs for being more fuel-efficient than the target.  I can't think of a single function which does what I want there, which is to give small bonuses for exceeding the fuel economy target, but large penalties for being below it.
Posted by: db48x
« on: March 16, 2016, 04:12:54 AM »

I was playing around with the solver on this sheet to optimize a design. Optimizing for Colonists/BP/hr/L results in a ship with one cryo module, one engine, and one tiny fuel tank. Optimizing for (Colonists/BP/hr)*(Colonists/L) gets me a more reasonable design with 35 cryo modules, 2 advanced CHS, 23 engines, and one standard fuel tank.

Maybe I'm just too tired at this hour, but I really expected the former to be the right optimization target. As expected, both designs are worse in Colonists/BP/hr than a design optimized just for Colonists/BP/hr, and both are worse on Colonists/L than a design optimized for Colonists/L, but the first design is much worse. Can you think of a reason for this to be a better optimization target?

BTW, the solver in LibreOffice works once you set up the right constraints (setting a constraint so that every variable is >= 0, is an integer, and so that it doesn't put a million tiny fuel tanks, etc) but the UI is annoying. To solve again in a different column you have to edit all of the constraints individually so that they point to the correct cells. I also had to restrict it to solving with only one type of engine, as it could never find its way out of the trap of putting in multiple types (which makes the design invalid). How does Excel compare?
Posted by: bean
« on: February 20, 2016, 07:03:48 PM »

Ah, I see what you mean; it does indeed disable the lock button when I remove the engineering space. However in practice I always just go straight to the population window to retool to the class. Apparently it doesn't have the same restriction.
That shouldn't be allowed. 

BTW, I just used an IPython notebook to interactively optimize a missile
Sounds neat.  I'll see what I can make of it.  (I was the first to find the engine optimization stuff when 6.0 came out, but I'm an aerospace engineer, not a computer person.  I usually use MATLAB.)
Posted by: db48x
« on: February 20, 2016, 01:38:43 PM »

BTW, I just used an IPython notebook to interactively optimize a missile
Posted by: db48x
« on: February 20, 2016, 01:30:24 PM »

I checked.  My copy won't let you lock the design without an engineering space on your freighter.  It will throw an error in the lower right, instead of revoking commercial status.

Ah, I see what you mean; it does indeed disable the lock button when I remove the engineering space. However in practice I always just go straight to the population window to retool to the class. Apparently it doesn't have the same restriction.
Posted by: bean
« on: February 20, 2016, 10:37:45 AM »

I checked.  My copy won't let you lock the design without an engineering space on your freighter.  It will throw an error in the lower right, instead of revoking commercial status.
Posted by: db48x
« on: February 19, 2016, 02:02:17 AM »

I don't.  Like you, I do fill those spaces with trim fuel.  But it didn't seem worth worrying about, because it's a rounding error on the level of design the sheet is intended for.

:)

I added support for fuel tankers by calculating the amount of fuel delivered divided by the fuel used. Still need to fix the crew quarters though.
Posted by: bean
« on: February 18, 2016, 12:01:12 PM »

But... But... how can you build ships with an exact size of 79.8? You've got to put that small tank in there to get all that free extra range!
I don't.  Like you, I do fill those spaces with trim fuel.  But it didn't seem worth worrying about, because it's a rounding error on the level of design the sheet is intended for.
Posted by: db48x
« on: February 18, 2016, 11:47:47 AM »

I'll check this when I get a chance.  If it's true, then I'll file a bug report.
Fair enough.  I usually don't go around hanging extra crew quarters on my commercial ships, so that wasn't a major design driver.  This wasn't intended to be a comprehensive system for designing commercial ships, which is why I also left out things like small fuel tanks. 

But... But... how can you build ships with an exact size of 79.8? You've got to put that small tank in there to get all that free extra range!
Posted by: bean
« on: February 18, 2016, 11:39:56 AM »

Quite possibly!
I'll check this when I get a chance.  If it's true, then I'll file a bug report.

Quote
Ah, I'd forgotten about that. Ships with more engines will lose a little bit of the penalty of the extra crew, because the BP will be lower than it should be.

I think the best way to do it would be to have two fields for each size of crew quarters, one which is calculated from the crew requirements and another for extra berths. I just don't like overwriting a formula with a number; it's too easy to forget that you've done so.
Fair enough.  I usually don't go around hanging extra crew quarters on my commercial ships, so that wasn't a major design driver.  This wasn't intended to be a comprehensive system for designing commercial ships, which is why I also left out things like small fuel tanks. 
Posted by: db48x
« on: February 18, 2016, 11:03:45 AM »

And you're able to lock the design without one?  That's a bug.

Quite possibly!

It was to make sure that the cost of the crew quarters got into the system.  In some cases that was important.

Ah, I'd forgotten about that. Ships with more engines will lose a little bit of the penalty of the extra crew, because the BP will be lower than it should be.

I think the best way to do it would be to have two fields for each size of crew quarters, one which is calculated from the crew requirements and another for extra berths. I just don't like overwriting a formula with a number; it's too easy to forget that you've done so.
Posted by: bean
« on: February 18, 2016, 10:38:33 AM »

It says that in the class designer, but leaving it out doesn't have any effect that I've noticed. For the purposes of optimization, then, I started leaving it out. :)
And you're able to lock the design without one?  That's a bug.