For anyone who wants to work on (non conflicting) changes at the same time, using a UI, I can recommend Gitbutler.
Here you can check out multiple branches at the same time (e.g. do a development workflow at the same time as a bugfix). It is a little bit confusing at first, but I like it.
I would love to get more details on the linear-integer solve methodology, as it sounds impressive.
Was the problem formulated to also work as a linear problem where the binary or integer variables were first treated as positive non-integer variables, and then checked using branch-and-cut (That's how I would do it)?
Or did you do something differently?
Fortunately, we found a different plan of attack: one
which allowed the integer-linear-programming solver to
explore the problem space more efficiently and find
optimal solutions faster. What previously took an hour,
now took 0.2 seconds.
It was simply modelled using a bunch of binary variables. Basically for every segment, we want to find the position of every line. So first we tried the 'traditional' approach of modelling the positions as a set of binary variables that say
Line_i_at_position_k
It just takes a long time because there are a lot of binary variables, and the penalties derive from the binary variables in an awkward way.
Later we started using a model using variables like
smaller_i_j
Just denoting whether line i is at a smaller position (index) than line j. You can enforce total ordering using the triangle inequality as a constraint. And the penalties very directly derive from the binary variables, because the penalties are all about things like 'apply penalty if line i is left of line j'.
Another thing to note is that New York-Washington is all connected. But some of the connections have only a single (commuter rail) line. So mathematically speaking, Washington and New York are actually independent. The MILP solver sometimes seemed to have trouble finding those independent components, so it helped providing them as separate models.
Can your process be applied as a plugin/core function of cad programs for designing buildings/other systems...
Such that I can relatively roughly draft a layout of a floor-plan, and then have your ideas "think" out a layer for piping, electrical, lighting etc...
the idea would be to avoid physical interferences, and then take your logic to say "oh this is a floor plan and the lighting layer-elements should be within the boundary of the walls, and I am to lay them out on an NxN grid, so ill propse this layout and the designer can just adjust as needed - but I am aware of the walls so I know I can only place this many WRT the layout" and "ah, this is a wall, and a ceiling, my electrical conduit must run up/in the wall and along the ceiling, and no conduit can intersect - but I need a junction box every N feet/[condition] and my radius for each turn must be within [spec]"
Basically ML/AI assisted CAD... I think you should explore that - electrical/plumbing conduit designs effectively adhere/require your design logic....
To reply to my own comment, I know that this already can be ~accomplished with, say, revit, I think there are efficiencies to be gained by what they are dount (autodesk should aquire these MOFOs...)
Basically define an elements requirements;
BusStop;
Range = X
Schedule = Y
Frequency = Z
FuelReq = AA
etc..
Then you do something like a fixture:
2X4 Fixture;
Power = X
T24 = Y
Then you setup a standard and a repo for people to post objects to a lib and let them select those things and just plop them on a drawing and the reqs will get calculated.
Although, I was not able to know how they calculated the cost per year for any of their examples... where does that data come from???
We used PuLP, which in turn uses cbc (part of the COIN-OR) project. I used to use lp_solve, but cbc turned out to be able to solve more complicated problems more quickly.
This sounds like a (more or less well executed) PR move. As this robot has wheels and very little clearance above ground, it looks like the robot would even have difficulties climbing stairs. Thus "escapes" seems like an exaggeration.
Probably. Or it could simply have had malfunctioned (bugs in robots are worse) and strayed off. You can see in the video that the sidewalks are very low and there was a ramp near where the robot was. Its not hard to imagine that people stopped paying attention to it and it slipped out by mistake. Of course, saying that it "escaped" makes it seem more interesting. Imagine if a story was ran every time a machine malfunctioned. People are still very wary of robots in general. The media has done an excellent job making them seem dangerous.
Yes, which makes the title more ridiculous. The same thing will happen to a roomba if you leave it running on an open space. I can see the headline now: "Evil vacuum cleaner robot creates havoc on city streets."
The name of the robot -- Promobot. No kidding. Of course, that's probably related to a Russian root word (anyone know what?) and not naming it directly for its purpose. Still, the irony is delicious.
I did not identify how this service differs from using multiple SIM cards with the same number, which I can get for a small fee (below 10€) from my provider (in Germany).
Does anybody know how details about the specific implementation?
For those of you who prefer using a GUI (and are using a windows computer): A similar program to Ohmu called "Spacesniffer" displays the space folders and files use, as well as free space in a treemap. It has helped me a lot to quickly see how big some folders are.
Did anybody find out how podcasts are integrated into Spotify? What interests me is if there will be a dynamic playlist of unlistened episodes. This would be great, as I don't know any good podcast applications for Windows.
Anybody who spent some time on https://community.spotify.com will agree that Spotify does not give a damn about the opinions of their most passionate users (the ones that actually want to improve the experience by participating in the forum!).
Especially since Spotify significantly increased font size and line spacing for no obvious reason [1] and no option to change it back even when this was a (from my perspective) widley demanded feature, I have lost confidence in the community process.
This looks like fun!
It seems that the copied champions are simulated in every run. As long there is no random influence you can probably skip this simulation, as the simulation of the champions is also most likely the most CPU intensive.
https://gitbutler.com/