Foreman 0.1.9 - A factory optimisation tool.

Calculate optimal ratios for feeding recipes, search through the research-tree, specialized tools to view game-information.
Post Reply
User avatar
oLaudix
Filter Inserter
Filter Inserter
Posts: 282
Joined: Sun Jun 14, 2015 3:24 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by oLaudix » Tue Apr 26, 2016 3:58 pm

Infinite supply node only means that program wont try to calculate the production and ingredients for this note (ie. node with petrol gas). You still need to manually set how much of that infinite ingredient you produce. In your example you have 3.2 petrol / s but still 0 water / s which gives 0 sulfur / s. For auto to work you have to set all ingredients or final product manually. In your example those are water, petrol, iron and copper.
Image

JasonC
Fast Inserter
Fast Inserter
Posts: 241
Joined: Tue Mar 22, 2016 3:05 am
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by JasonC » Tue Apr 26, 2016 5:02 pm

oLaudix wrote:Infinite supply node only means that program wont try to calculate the production and ingredients for this note (ie. node with petrol gas). You still need to manually set how much of that infinite ingredient you produce. In your example you have 3.2 petrol / s but still 0 water / s which gives 0 sulfur / s. For auto to work you have to set all ingredients or final product manually. In your example those are water, petrol, iron and copper.
Thanks. I figured it out just now too, I was missing the final product like you say.

All I needed was to create a battery output node and hook it up to the output of the battery recipe, then set its rate to some really high number (like 1000/s). Then the actual battery output rate was displayed in parentheses on the output node. I didn't set any intermediate rates manually, only the petrol gas infinite output node rate and the arbitrarily high battery production rate, the rest were auto calculated no problem once I made the output node:
flowchart.png
flowchart.png (71.32 KiB) Viewed 2740 times
There, everything is auto except the petrol gas infinite supply rate and 1000/s battery rate, and from this it shows that I can produce 1.07 batteries/s from 3.2 petrol/s.

Only problem is it doesn't show the water/plate production rates needed to produce 1.07/s batteries, for some reason it shows those for the 1000/s battery values (I daresay it may be a bug? e.g. the final battery recipe does not need 4000 plants in this case, and it's not taking in 1000 iron plates per second, but I dunno). The only way to get that is to first set the battery rate high to figure out how many you can actually produce, then set the battery rate to the calculated value (1.07 in this case) to get the rest of the values right.
Last edited by JasonC on Thu Apr 28, 2016 10:30 pm, edited 3 times in total.

JasonC
Fast Inserter
Fast Inserter
Posts: 241
Joined: Tue Mar 22, 2016 3:05 am
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by JasonC » Tue Apr 26, 2016 5:08 pm

Feature request: Export image to clipboard. This would allow for a more seamless workflow when e.g. uploading images to imgur (you can paste images there), annotating things in image editors, etc.

IhanaMies
Inserter
Inserter
Posts: 36
Joined: Thu Mar 17, 2016 10:01 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by IhanaMies » Thu Apr 28, 2016 10:16 pm

Another feature request: Disable certain recipes and set fixed amount of buildings on a recipe

JasonC
Fast Inserter
Fast Inserter
Posts: 241
Joined: Tue Mar 22, 2016 3:05 am
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by JasonC » Thu Apr 28, 2016 10:47 pm

Bug: The tool can't really deal with combining multiple recipe outputs. For example, here is a reasonable refinery setup with cracking and a goal of 120 petrol gas/s:
Foreman Production Flowchart.png
Foreman Production Flowchart.png (67.02 KiB) Viewed 2705 times
It set the light oil cracking output to 120, then solved backwards for that, ignoring the advanced oil processing output, and yielding incorrect numbers all around.

Or another example, attempting to produce 40 solid fuel/s using all three recipes that produce it:
Foreman Production Flowchart2.png
Foreman Production Flowchart2.png (53.4 KiB) Viewed 2705 times
Here it set every attached recipe output to 40/s, leading to numbers that were too high.

JasonC
Fast Inserter
Fast Inserter
Posts: 241
Joined: Tue Mar 22, 2016 3:05 am
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by JasonC » Thu Apr 28, 2016 11:03 pm

Another issue: If recipe B takes input from recipe A and an infinite supply node, and the recipe A rate is manually set, recipe B doesn't propagate the value to its infinite supply input, and it stays locked at 0. Example:
Foreman Production Flowchart3.png
Foreman Production Flowchart3.png (43.9 KiB) Viewed 2703 times
Here, everything is set to auto except the copper plate -> copper cable recipe was manually set to output 40/s cable. The expected result of this is an update to the advanced circuit recipe's iron plate infinite input to match. The actual result is nothing happens.

As a workaround, if the iron plate infinite supply rate is set to some arbitrarily high value (arbitrary because you don't know what it is, or you wouldn't need to use Foreman), then you can at least see the calculated values:
Foreman Production Flowchart4.png
Foreman Production Flowchart4.png (50.19 KiB) Viewed 2703 times
As a simpler case, this happens with any inputs, not just outputs from recipes. Here, everything is set to auto, including iron plates, but copper plate supply node output is set. Even though it is set to auto, the iron plate supply node does not update automatically. Same workaround as above is needed:
Foreman Production Flowchart5.png
Foreman Production Flowchart5.png (22.21 KiB) Viewed 2703 times
The workaround is only partial, it still isn't possible to calculate e.g. how many iron plates you'd need for a given copper plate input rate without just entering manual guesses on iron plates until the icon turns red.

xBlizzDevious
Fast Inserter
Fast Inserter
Posts: 108
Joined: Mon Feb 02, 2015 10:15 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by xBlizzDevious » Mon May 02, 2016 10:54 pm

Hello!

I'm wondering if a feature would able to be added?
- Power calculations.

Ie. Would you be able to implement a function that would look at power draw of all of the selected items and total it up, giving a total required power input. Obviously including any changes from modules and so on.

More importantly (in my eyes), would you be able to then calculate EXACTLY how many steam engines and steam boilers are required to create that much power?
The reason I ask is that I'm trying to calculate the exact ratios for 5dim's modded boilers and steam engines but it's not very clear in the game. As far as I can tell, you would need the same number of Mk3 boilers as you would of the base game boilers to produce the same amount of power, the modded Mk3 ones are just more efficient. Is that true?

Either way, it would be an awesome feature.

AutoMcD
Fast Inserter
Fast Inserter
Posts: 214
Joined: Wed Apr 27, 2016 5:53 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by AutoMcD » Thu May 05, 2016 7:38 pm

JasonC wrote:Bug: The tool can't really deal with combining multiple recipe outputs. For example, here is a reasonable refinery setup with cracking and a goal of 120 petrol gas/s:
Foreman Production Flowchart.png
It set the light oil cracking output to 120, then solved backwards for that, ignoring the advanced oil processing output, and yielding incorrect numbers all around.

Or another example, attempting to produce 40 solid fuel/s using all three recipes that produce it:
Foreman Production Flowchart2.png
Here it set every attached recipe output to 40/s, leading to numbers that were too high.

Was about to post the same thing.. wonderful program but the oil usage is off the charts! Also concluded there is an error in how cracking is factored in.

edit: found that if i delete the heavy->light oil cracking, things look alright.

OvermindDL1
Fast Inserter
Fast Inserter
Posts: 164
Joined: Sun Oct 05, 2014 6:12 am
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by OvermindDL1 » Fri May 06, 2016 3:11 am

Error on run:

Code: Select all

System.ArgumentNullException: Value cannot be null.
Parameter name: path1
  at System.IO.Path.Combine (System.String path1, System.String path2) <0x7f49f1562610 + 0x00231> in <filename unknown>:0 
  at Foreman.MainForm.Form1_Load (System.Object sender, System.EventArgs e) <0x403c9000 + 0x0017d> in <filename unknown>:0 
  at System.Windows.Forms.Form.OnLoad (System.EventArgs e) <0x403b8480 + 0x00071> in <filename unknown>:0 
  at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) <0x403b8260 + 0x0007f> in <filename unknown>:0 

Chreutz
Burner Inserter
Burner Inserter
Posts: 15
Joined: Thu May 21, 2015 10:04 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by Chreutz » Mon May 09, 2016 7:58 am

OvermindDL1 wrote:Error on run:

Code: Select all

System.ArgumentNullException: Value cannot be null.
Parameter name: path1
  at System.IO.Path.Combine (System.String path1, System.String path2) <0x7f49f1562610 + 0x00231> in <filename unknown>:0 
  at Foreman.MainForm.Form1_Load (System.Object sender, System.EventArgs e) <0x403c9000 + 0x0017d> in <filename unknown>:0 
  at System.Windows.Forms.Form.OnLoad (System.EventArgs e) <0x403b8480 + 0x00071> in <filename unknown>:0 
  at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) <0x403b8260 + 0x0007f> in <filename unknown>:0 
I am getting the same error. I am trying to run it on Linux with mono. Anyone got a hint or a solution for this?

Minbaru
Burner Inserter
Burner Inserter
Posts: 16
Joined: Mon May 09, 2016 8:03 am
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by Minbaru » Thu May 12, 2016 6:25 am

Where is the installation of Factorio when it is installed on a Mac with Steam?

AutoMcD
Fast Inserter
Fast Inserter
Posts: 214
Joined: Wed Apr 27, 2016 5:53 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by AutoMcD » Tue May 17, 2016 6:05 pm

I'm getting an error now upon loading. :(

This is a great tool, really helped me proportion my base properly. I got a lot of use out of it and I hope you fix it soon! :)

bNarFProfCrazy
Fast Inserter
Fast Inserter
Posts: 175
Joined: Sat Apr 23, 2016 7:11 am
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by bNarFProfCrazy » Wed May 18, 2016 4:58 pm

@AutoMcD

It would be nice if you would share the error message you get, otherwise we are just guessing what might be wrong.

blizgerg
Inserter
Inserter
Posts: 29
Joined: Thu Apr 28, 2016 11:18 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by blizgerg » Wed May 18, 2016 5:34 pm

I am getting a Foreman crash that I can reproduce on factorio 0.12.33 with foreman 0.1.9.5 using the Satellite Uplink Station 0.1.3 mod. I removed satellite uplink and it does not crash and remove all other mods and just have satellite uplink and it crashes. Might be a problem with the satellite uplink mod, but it seems as though you would want foreman to not crash on something invalid and do something sane.
Error Message

bNarFProfCrazy
Fast Inserter
Fast Inserter
Posts: 175
Joined: Sat Apr 23, 2016 7:11 am
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by bNarFProfCrazy » Wed May 18, 2016 5:53 pm

Ah that issue. It has been reported already.
However there isn't a fix for it yet.
https://bitbucket.org/Nicksaurus/forema ... ite-uplink

AutoMcD
Fast Inserter
Fast Inserter
Posts: 214
Joined: Wed Apr 27, 2016 5:53 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by AutoMcD » Thu May 19, 2016 1:28 am

bNarFProfCrazy wrote:@AutoMcD

It would be nice if you would share the error message you get, otherwise we are just guessing what might be wrong.
Sure, sorry for forgetting that.
Image
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Version string portion was too short or too long.
at System.Version.VersionResult.SetFailure(ParseFailureKind failure, String argument)
at System.Version.TryParseVersion(String version, VersionResult& result)
at System.Version.Parse(String input)
at Foreman.DataCache.ParseModDependencies(Mod mod)
at Foreman.DataCache.ReadModInfo(String json, String dir)
at Foreman.DataCache.ReadModInfoZip(String zipFile)
at Foreman.DataCache.FindAllMods(List`1 enabledMods)
at Foreman.DataCache.LoadAllData(List`1 enabledMods)
at Foreman.MainForm.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.6.127.1 built by: NETFXREL3STAGE
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Foreman
Assembly Version: 0.0.1.1
Win32 Version: 0.0.0.0
CodeBase: file:///C:/Users/David%20McDonough/Desktop/Foreman%200.1.9.5/Foreman.exe
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1075.0 built by: NETFXREL3STAGE
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1068.2 built by: NETFXREL3STAGE
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1064.2 built by: NETFXREL3STAGE
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
NLua
Assembly Version: 1.3.0.0
Win32 Version: 1.3.0
CodeBase: file:///C:/Users/David%20McDonough/Desktop/Foreman%200.1.9.5/NLua.DLL
----------------------------------------
KeraLua
Assembly Version: 1.3.0.0
Win32 Version: 1.3.0.0
CodeBase: file:///C:/Users/David%20McDonough/Desktop/Foreman%200.1.9.5/KeraLua.DLL
----------------------------------------
Newtonsoft.Json
Assembly Version: 6.0.0.0
Win32 Version: 6.0.8.18111
CodeBase: file:///C:/Users/David%20McDonough/Desktop/Foreman%200.1.9.5/Newtonsoft.Json.DLL
----------------------------------------
Microsoft.CSharp
Assembly Version: 4.0.0.0
Win32 Version: 4.6.79.0
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Runtime.Serialization
Assembly Version: 4.0.0.0
Win32 Version: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
System.Xml.Linq
Assembly Version: 4.0.0.0
Win32 Version: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.6.127.1 built by: NETFXREL3STAGE
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

blizgerg wrote:I am getting a Foreman crash that I can reproduce on factorio 0.12.33 with foreman 0.1.9.5 using the Satellite Uplink Station 0.1.3 mod. I removed satellite uplink and it does not crash and remove all other mods and just have satellite uplink and it crashes. Might be a problem with the satellite uplink mod, but it seems as though you would want foreman to not crash on something invalid and do something sane.
:shock:
A mod can caus this??
son of a bitch, I did just download some mods to try, and that was one of them.

Removed mod, things were blank but no errors.
ran factorio then loaded foreman, fired right up.
!!!

rstone124
Burner Inserter
Burner Inserter
Posts: 5
Joined: Thu May 26, 2016 7:45 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by rstone124 » Fri May 27, 2016 5:26 pm

Thank You very much for the responses, I am overwhelmed ......

PlatypusFighter
Manual Inserter
Manual Inserter
Posts: 2
Joined: Mon May 30, 2016 6:11 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by PlatypusFighter » Mon May 30, 2016 6:14 pm

So how is that web version coming along?

Anson
Fast Inserter
Fast Inserter
Posts: 236
Joined: Sun May 22, 2016 4:41 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by Anson » Sat Jun 11, 2016 11:26 pm

JasonC wrote:Bug: The tool can't really deal with combining multiple recipe outputs.
For example, here is a reasonable refinery setup with cracking ...
I just had the same problem, and thus came to this forum,
but couldn't find any solution or workaround since Jason posted the bug

maybe the tests that i did can help finding the bug in this great program :
the nodes which are marked with yellow are set to auto,
all other nodes have fixed values

1. (top left) compute "upwards" : split from known source to known and unknown outputs
35 = 20 + x + 5 --> Foreman correctly calculates x = 10 :)

2. (top right) compute "downwards" : split to known outputs from unknown source
X = 20 + 10 + 5 --> Foreman correctly calculates x = 35 ;)

4. (bottom right) compute "upwards" : join from known sources to unknown output
20 + 10 + 5 = x --> Foreman correctly calculates x = 35 :D
(but this applies only when all the sources are fixed values !!!) :mrgreen:

3. (bottom left) compute "downwards" : join to known output from known and unknown sources
x + x + 10 + 5 = 30 (and the same happens also with only one unknown source: x+10+5=30)
--> Foreman thinks "why should i do all the work, and compute something ? :evil:
just let's assume that each unknown source's auto-value is the same as the output" :twisted:
auto-error.PNG
auto-error.PNG (48.21 KiB) Viewed 2549 times
btw: IF all sources and all outputs are known (fixed), Foreman is really nice and tries to check whether the equation is correct: if the combined sources don't produce enough the output is marked red (with the correct available amount on top and the desired amount below, in parentheses), and if the amount is too low the sources are marked blue.This can also be seen on the refinery in the bug report

but there is some very small problem too: that blue background color is only done for each source separately, independently of the others (marking only those sources which already by themselves would produce too much), and all other source's backgrounds stay white as if everything would be ok. this can leave a user error or other problems undetected.
picture of those colored backgrounds
Edit: some more experiments :geek:
i created a single refinery node and tried to change its petrol output from auto to a fixed constant by clicking on the petrol output icon and entering some value 123, and the result was that the heavy oil output showed this value 123 and all other input and output values were adjusted accordingly. Then i tried the same with a cracking recipe and all values were different from the fixed value that i had entered. but then it dawned on me :idea: the "fixed value" is neither input nor output, but the number of "cycles" that the machine does, and all inputs and outputs are multiplied by the recipes specification.
a classical case of "RTFM", except that i have no idea where to find that M :?

and even more experiments :ugeek:
trying to set up a diagram to answer the question "in one minute, how many burner inserters can i make from 100 iron plates?" i hit 2.5 problems at once: first Foreman splits the given 100 plates (fixed) into 100 for the gears (auto), leaving 0 for assembling with the gears and thus producing 0 inserters (auto) from 100 plates (the blue background of the gears is ok since it made "50 too many"). and second Foreman magically increased the number of plates by 0.01 (rounding error, probably when calculating minutes) which caused the red background on the gear node). these rounding errors become a bit annoying when lots of icons turn red in a big diagram and even more so when "complete flowchart" creates a dozen output nodes for these small junk amounts). and finally, where are the pictures for the machines in the nodes (i had enabled all machines, and to show everything).
picture - how to create 0 inserters from 100 iron plates

grizzlyatoms
Burner Inserter
Burner Inserter
Posts: 10
Joined: Sat Jul 09, 2016 10:01 pm
Contact:

Re: Foreman 0.1.9 - A factory optimisation tool.

Post by grizzlyatoms » Wed Jul 13, 2016 1:10 am

Getting an error for the most part regarding Bobs mods.. I just found out about this tool and i think its the solution to my main factory issues so i really hope i can figure out how to get it to work with bobs.. Here a puush of the log.

http://puu.sh/pZIPu/136631b04e.png

Post Reply

Return to “Cheatsheets / Calculators / Viewers”

Who is online

Users browsing this forum: No registered users