← All research topicsGitHub
Research topic

Self-replicating manufacturing

How close can a small shop get to making copies of its own machines? Closure, growth and what to build next, in models that run on a CPU.

34 projects, each with its own page, code and tests. See them on the full research index.

How much of a RepRap printer can a growing seed shop make itself?

research/selfrep-closure · 8 tests

Part, mass and cost closure of the RepRap Prusa Mendel (iteration 2) for three seed shops: printer alone makes 18 of 51 part lines (35%), plus router and laser 43%, assumed-mass closure 22%; casting helps only with brass bushings. Mass and cost inputs assumed. Stylised.

Abstract

The RepRap Prusa Mendel (iteration 2) bill of materials (51 part lines, from the RepRap wiki) against three seed shops. A printer alone makes 18 of 51 lines (35%); adding a CNC router and laser cutter reaches 43% of lines and, under assumed masses and costs, about 22% of mass and 16% of cost; casting helps only if brass bushings replace LM8UU bearings (45% of lines, 24% of mass). Motors, electronics, rods, bearings and fasteners stay vitamins. Stylised: the wiki gives no masses or prices, so those inputs are assumed and shown with a sensitivity range, process assignments are judgement, and only the printer is decomposed.

Which machine should a seed shop add next, and does a greedy rule find it?

research/selfrep-nextmachine · 6 tests

Which machine a printer-only seed shop should add next under a budget: greedy closure-per-price vs exhaustive search; same choice on the real 3-machine instance, optimal in 72–94% of 500 synthetic instances. Machine prices assumed. Stylised.

Abstract

Builds on the selfrep-closure part model. Choosing among a CNC router, laser cutter and casting setup under a budget, a greedy closure-per-price rule matches exhaustive search at every tested budget on the real three-machine instance (router first, then casting only if brass bushings replace LM8UU). On 500 random synthetic instances greedy is optimal in 72–94% of cases and loses up to about 38% of the closure gain in the worst case. Stylised: machine prices, masses and costs are assumed placeholders, machines have no bills of materials of their own, and the synthetic instances are random.

How fast does a replicating printer shop grow when its vitamins must be bought?

research/selfrep-growth · 9 tests

Discrete-event and fluid growth of a replicating printer shop with imported vitamins: doubling time falls roughly as 1/budget until machine time binds (about 53 h in the simulation), failed builds cost about 1/(1-f), and closure helps most when imports bind. All inputs assumed; Lackner and Wendt comparison not done. Stylised.

Abstract

Builds on the selfrep-closure part model. A discrete-event simulation of a fleet of printers that each build copies of themselves, checked against a closed-form fluid model. With a small import budget the doubling time falls almost in proportion to the budget (about 455 h at 4 units/h, 120 h at 16/h); above a crossover fleet size N* = BW/V machine time binds and doubling flattens near the 50 h build time. Failed builds raise the doubling time by about 1/(1−f), and raising closure helps most when imports bind. Every input (print rate, assembly time, costs, budget, failure rate) is assumed and the fleet is homogeneous. Stylised. The comparison with Lackner and Wendt’s growth model is not done.

When should a replicating shop stop copying itself and start making goods?

research/selfrep-reinvest · 8 tests

Optimal split of a replicating printer shop's time between copies and goods: copy flat out, then switch one e-folding time (about 50 h) before the horizon; constant splits get 9–27% of that value, smooth ramps no better. Cash-limited cases switch about 50 h from the end. All inputs assumed. Stylised.

Abstract

Builds on the selfrep-growth fleet model. A fluid optimal-control model splits machine time between building copies and making goods, scored on the total value of goods over 600 h. Copying flat out and then switching to goods one e-folding time (1/k = W/(1−f), 50 h with no failures) before the horizon matches the closed form; the best constant split earns only 9–27% of that value, and smooth ramps are no better than the sharp switch. When imports or goods sales fund vitamins, cash binds throughout and the switch lands about 50 h from the end. Every input is assumed, the fleet is a continuous fluid, goods demand is unlimited and the final fleet is worth nothing. Stylised. Piecewise policies are local search, not a proof of optimality.

How much imported material can recycling save a self-replicating printer shop?

research/selfrep-materials · 10 tests

Mass and energy balance of plastic and aluminium recycling for one RepRap copy (stylised, assumed process parameters): vitamins stay about 75% of imported mass, recycling the shop's own scrap cuts imports a median 3%, and only retired-machine plastic changes the plastic import much.

Abstract

Builds on the selfrep-closure part list. A stylised steady-state mass and energy balance for building one more RepRap Prusa Mendel, with shredding and re-extrusion of plastic and remelting of aluminium offcuts. With assumed process parameters, vitamins stay about 75% of imported mass for the largest shop (82% for the printer alone), and recycling the shop’s own scrap cuts imports by a median 3% (5–95% over parameter draws: 1–6%). Only plastic from retired machines changes the filament import much, and then the assumed recycled-share cap decides the result. Limitations: every yield, loss and energy figure is an assumption, recycling machines are not counted, and recycled-plastic quality is not modelled.

How many printer copies does it take for a shop's recycling machines to repay their own imports?

research/selfrep-recyclers · 8 tests

Payback of recycling machines with their own assumed part lists (stylised): about 100 printer copies on the shop's own scrap, 12–31 if retired machines' plastic is recycled.

Abstract

Builds on selfrep-materials. A shredder, a filament extruder and an aluminium furnace are given assumed part lists, split into vitamins and parts the shop can make. With the shop’s own scrap only, the plastic pair needs 99–116 printer copies to avoid as much imported mass as it costs (91–164 over part-mass draws) and the furnace about 94. Plastic from retired machines cuts this to about 12–31 copies, depending on an assumed recycled-share cap. Limitations: part lists and masses are placeholders, mass is the only currency (cost, time and energy are ignored), and retirement is a scenario knob. Stylised.

Does pricing a shop’s imports, instead of weighing them, change when its recycling machines repay themselves?

research/selfrep-costpayback · 8 tests

Recycler payback priced instead of weighed (stylised, assumed prices): plastic pair 98–111 printer copies on own scrap, furnace 203, 10–26 with retired plastic.

Abstract

Builds on selfrep-recyclers with assumed round-number prices for feedstock and for each vitamin of the machines. The plastic shredder and extruder repay in 98–111 printer copies on the shop’s own scrap (median 99, 45–235 over price draws), close to the mass-based 99–116, while the aluminium furnace worsens from 94 to about 203 copies because aluminium is cheap per kilogram. Recycling retired plastic brings the plastic pair to 10–26 copies. Stylised: every price and part list is an assumption, and labour and energy costs are ignored.

What is the closed form of a replicating shop’s smooth switch from copying to goods, and does it match dynamic programming?

research/selfrep-singulararc · 8 tests

Closed-form optimal copy share for a replicating printer shop with a saturating goods market (Pontryagin singular arc: goods output grows linearly, last 1/k hours all goods); earns 99.96–100% of the dynamic-programming policy's value. Necessary conditions only; all inputs assumed. Stylised.

Abstract

Builds on selfrep-satmarket. With concave revenue a c(1 − e−g/c), Pontryagin’s principle gives three arcs: copy flat out, a singular arc on which goods output grows linearly at rate kc, then goods only for the last 1/k hours. The entry time solves one scalar equation. In the Euler model the open-loop policy earns 99.96–100.00% of the dynamic-programming policy’s value over 7 market sizes and 4 failure shares. The conditions are necessary, not a proof of optimality, and depend on the assumed exponential revenue form. Stylised.

When the goods market saturates, does a replicating shop’s bang-bang switch turn smooth?

research/selfrep-satmarket · 8 tests

Reinvestment of a replicating printer shop when the goods market saturates, checked by dynamic programming: bang-bang is optimal with linear revenue, but with market capacity below about 10^4 machine-hours per hour the optimum ramps the copy share down over 90–300 h and bang-bang loses 4.5–7%. All inputs assumed. Stylised.

Abstract

Builds on the selfrep-reinvest fluid model, with concave goods revenue a c(1 − e−g/c) and a backward dynamic programme (Bellman) as a check on the local-search policies. With a large market the optimum is still copy-then-switch; once market capacity c is below about 104 machine-hours per hour the optimal copy share ramps down over 90–300 h, bang-bang loses 4.5–7% of the optimum and a logistic ramp recovers all but 1–1.5%. Slower growth from failed builds sharpens the switch again. Every input is assumed and the saturation form is a convenient choice; cash never binds. The DP value is the optimum of a discretised problem, within a few tenths of a percent of its simulated policy where it is accurate and several percent in near-linear cases. Stylised.

What fleet can a replicating printer shop sustain when its machines wear out?

research/selfrep-wearout · 8 tests

Fleet a replicating printer shop sustains when machines wear out (stylised, assumed inputs): short-lived machines die out from one seed; recycling gains need a correction for builds cut short.

Abstract

Extends the selfrep-growth fleet model with random machine lifetimes (Weibull) and a recovered share of vitamin value at retirement. With assumed inputs and a vitamin budget of 4 units/h, a lone seed machine died out in every run when mean life was 200 h or less (20% of runs at 500 h, 3% at 2000 h), while the fluid model predicted a small stable fleet; survivors held about 10 machines at 500 h. Wear-out lifetimes are safer than constant hazard at the same mean. The fluid equilibrium over-predicts fleet size at high recycling (235 vs 73 simulated at 95% recovery); charging for builds cut short by retirement closes the gap (76), though that correction was added after seeing the discrepancy. Stylised: every input is assumed.

Can an exactly solvable birth-death chain explain why short-lived printer fleets die out?

research/selfrep-extinction · 6 tests

Exact mean extinction time of a wearing-out printer fleet as a birth-death chain (stylised, assumed inputs): explains the die-outs in kind, within about 35% only after a post-hoc fix.

Abstract

Follow-up to selfrep-wearout. The fleet is a birth-death chain with an absorbing state at zero, and its mean extinction time is solved exactly and checked against a closed form and Monte Carlo. From one seed machine it grows from 358 h (mean life 100 h) to 3967 h (200 h) to 41,602 h (300 h), but the wear-out simulation dies out 1.8–2.5× sooner. Scaling births by the chance a build outlives its machine brings the two within about 35% for a lone seed (16–18% at 200–300 h), a fit made after seeing the gap; it is 1.7–1.9× too short for four seeds at 300 h. Stylised, with assumed inputs; the 500 h rows are unusable.

Does paying for spares late rescue the long repair queue of a printer shop?

research/selfrep-repairpay · 5 tests

Does paying for spares at service start rescue the long repair queue of a printer shop (stylised, assumed inputs): yes, an unbounded queue then beats never repairing (488 against 458 at one bench) and queue caps stop mattering.

Abstract

Follow-up to selfrep-repairlabour. That project found an unbounded repair queue is dead stock (414 working machines against 458 for never repairing, one bench, B = 40) when spares are bought at breakdown. Buying them when a bench frees up instead reverses it: 488 against 458, and 572 against 504 with four benches. The queue is as long (about 3400 machines) but ties up no vitamins, and capping it no longer helps (caps of 1–200 all give 484–492 at one bench; no standard errors computed, so no optimum cap is claimed). Stylised: assumed inputs, first-come service, a machine unaffordable at its turn is retired.

What happens to a repairing printer shop when repairs need labour?

research/selfrep-repairlabour · 7 tests

Repair labour as a limit on a repairing printer shop (stylised, assumed inputs): with few repair benches an unbounded queue of broken machines is dead stock and does worse than never repairing; capping the queue recovers most of the gain.

Abstract

Follow-up to selfrep-repair. Repairs need one of K benches; broken machines queue after buying spares. The pre-run prediction that the working fleet is about min(import limit, K·L/h) fails: with B = 40 and one bench the fleet is 414 against a cap of 40, because most breakdowns are never served and the queue (2915 machines) is dead stock. An unbounded queue with one bench is worse than never repairing (414 against 458); retiring a breakdown when 1–20 machines already wait gives 487–492. Stylised: assumed inputs, benches are a count with no wages, no corrected closed form.

When is repairing a printer worth more than building a new one?

research/selfrep-repair · 8 tests

Repair versus replacement in a replicating printer shop (stylised, assumed inputs): repair wins iff its cost share is below its success probability, but only if spares are held back from new builds.

Abstract

Follow-up to selfrep-wearout. Machines break down at a constant rate and the shop may spend spare-part vitamins to repair one instead of retiring it. A vitamin-balance formula predicts repair gives a bigger fleet exactly when the repair cost share is below the repair success probability; a discrete-event simulation with assumed inputs puts the crossing at that value, within about 9% of the formula in that sweep, but only when spares are held back from new builds (without a reserve the fleet was 70 against a formula value of 157). Repair also cuts die-out from one seed at short lifetimes (for example 55% against 100% at a mean life of 100 h) but does not remove it. Stylised: assumed inputs, memoryless breakdowns, repair returns the machine to new, no printed spares.

How much does making its own spare parts cut the cost of repairing a printer?

research/selfrep-spares · 7 tests

How much making its own spare parts cuts a printer shop's repair cost (stylised, assumed inputs): the printer alone makes none of the wear parts, so in-house spares barely move the fleet; the breakdown rate matters more.

Abstract

Follow-up to selfrep-repair. The spare-part cost share of a repair is derived from the Prusa Mendel’s wear parts (belts, bearings, hot end, switches), each with an assumed life, and from which of them a seed shop can make. The printer alone makes none and adding a router and laser cutter makes only the pulleys, so the share stays near 0.021 and the fleet is unchanged (62.5 vs 63.0 machines, against 7.3 with replacement only). Swapping the linear bearings for a printed bushing lowers the share to 0.019, but if the bushing lasts half as long the fleet falls to 43, so breakdown rate matters more than where the spare comes from. Stylised: every life and cost is assumed.

Does a printer shop lose its printed-bushing gain once a printed spare takes print hours?

research/selfrep-sparehours · 3 tests

Does charging printed spares their print hours erase the printed-bushing gain (stylised, assumed inputs): the fleet ignores waits up to ~500 h per repair because it is import-limited, and the gain was within noise anyway.

Abstract

Follow-up to selfrep-spares. A repair that needs a printed bushing waits extra print hours (mean-downtime approximation in the unchanged selfrep-repair simulation). At the assumed inputs the working fleet is flat up to about 500 h of wait per repair (62.7 vs 64.2 machines with none) and falls at 1000 h (58.5) to 36.0 at 5000 h, because the fleet is import-limited, not downtime-limited. The bushing’s gain over stock bearings (+1.8) was already inside the run-to-run spread. Stylised, assumed inputs; printing does not compete with building for machine time.

Is the lone-printer die-out an early birth-death accident?

research/selfrep-extinction-kits · 7 tests

Exact Markov-chain test of why a lone replicating printer dies out (stylised, assumed inputs): about a fifth die before a fleet forms at 500 h mean life; wear-out lives remove it.

Abstract

Tests the extinction explanation left open by selfrep-wearout with an exact continuous-time Markov chain of the same shop (Poisson vitamin kits, exponential builds and lives). With assumed inputs and a budget of 4 units/h, the chain gives a 0.194 chance that a lone seed machine is lost before the fleet reaches 6 machines at 500 h mean life (simulation 0.198 ± 0.006), of which 0.162 is the seed retiring before its first copy; relaxing the Markov assumptions moves this by at most about 0.03. Wear-out lives (Weibull shape 2 or more) cut it to under 3%. Exact mean extinction times for small equilibrium fleets match simulation (1464 h against 1511 ± 50 h at 200 h life), but with regular kits and lognormal builds long times roughly double, so the chain is a lower guide there. Stylised: every input is assumed; simulated only.

Can a quasi-stationary approximation predict how long a small printer fleet lasts?

research/selfrep-extinction-qsd · 4 tests

Quasi-stationary approximation of how long a small replicating-printer fleet lasts (stylised, assumed inputs): within 5% of the exact mean time once a correction for early die-out is applied, poor for the shortest lives.

Abstract

Follow-up to selfrep-extinction-kits. The slowest decay rate of the exact Markov chain gives a quasi-stationary estimate 1/λ0 of the mean extinction time. Stylised, with assumed inputs, it overshoots a lone seed machine by 1.2 to 1.9 times (2388 h against 1465 h exact at 200 h life), but multiplied by the exact chance the fleet survives its start it lands within 5% in four of seven cases (for example 0.999 at 500 h life) and fails where the fleet rarely survives (ratio 1.4 at 200 h life, 42 at 75 h). Seed fleets help only up to the quasi-stationary time: 1 / 2 / 4 / 8 seeds give 1465 / 1983 / 2388 / 2666 h at 200 h life. The survival correction was chosen after seeing the overshoot, so it is a post-hoc fit. Stylised: every input is assumed; simulated only.

Why do two exact extinction chains of the same printer shop disagree?

research/selfrep-reconcile · 4 tests

Reconciles the two exact extinction chains of the lone printer shop (stylised, assumed inputs): the fleet-size chain is 1.5 to 7 times longer; adding the kit wait fixes small fleets but over-corrects large ones.

Abstract

Two sibling chains of the lone replicating printer shop, one on fleet size and one on machines and vitamin kits, give different mean extinction times for the same inputs. Stylised, with assumed inputs, the fleet-size chain is longer by 1.5 to 7 times because its birth law min(n/W, a) lets machines and kits never wait for each other. A fixed-in-advance repair that adds the two waits matches the kit chain within 5% when the fleet stays at 1 to 3 machines, but falls 24 to 60% below it for larger fleets, where kits pool in stock. No law right in both regimes was derived.

Which part substitutions cut a printer's vitamins most, within a performance budget?

research/selfrep-redesign · 5 tests

Which assumed part substitutions (printed bushings and nuts, wooden rods) cut the Prusa Mendel's vitamins most under a penalty budget: all seven take closure from 43/22/16% to 60/36/48% (lines/mass/cost); best set depends on the assumed penalties. Stylised.

Abstract

Follow-up to selfrep-closure that changes the machine instead of the shop. Seven assumed substitutions (printed bushings and nuts, wooden rods, a printed drive) are searched exhaustively, greedily and at random under an assumed penalty budget. All seven together take the Prusa Mendel’s vitamin lines from 29 to 19 and closure from 43/22/16% to 60/36/48% (lines/mass/cost) for the printer, router and laser shop; mass closure stays below 36% because motors, electronics and threaded rods remain. Cost closure responds most, and the best set depends on the assumed penalties. Stylised: substitutions, masses and penalties are all assumed and no part was tested.

What does a wooden rod cost a printer in stiffness?

research/selfrep-rodbeam · 6 tests

Beam model of the Prusa Mendel's smooth rods: a wooden rod sags 20 times a steel one at 8 mm and needs about 17 mm to match it, and selfrep-redesign's assumed dowel mass was twice the geometric one (stylised).

Abstract

Replaces the assumed penalty of selfrep-redesign’s wooden-rod substitution with Euler–Bernoulli beam theory. At 8 mm a hardwood rod sags 20× a steel one (the modulus ratio) and a printed PLA rod 80×; matching steel stiffness needs about 17 mm of hardwood, outside the printer’s 8 mm hardware, while a 1–2 mm sag tolerance needs 9–11 mm. The earlier 30 g per dowel was about twice the geometric 13.8 g, moving mass closure from 35.8% to 34.6%; thicker dowels raise closure again, a quirk of counting imported feedstock as makeable. Stylised: properties and the 5 N load are assumed and no rod was tested.

What natural-frequency target does a printer’s rod have to meet, and what does a wooden rod cost?

research/selfrep-rodmodes · 5 tests

Carriage natural frequency on the Prusa Mendel's smooth rods: a vibration target, not a sag limit, sets the rod diameter; hardwood needs about twice steel's diameter (stylised).

Abstract

Follow-up to selfrep-rodbeam that derives the rod spec from a vibration target instead of an assumed sag limit. A carriage mass on a simply supported rod (Rayleigh estimate with the 17/35 effective rod mass) gives a first mode of 42 Hz for 8 mm steel but 10 Hz for hardwood and 5 Hz for printed PLA, for an assumed 0.3 kg carriage. Matching steel’s frequency needs about 16 mm of hardwood, close to the sag-matching 17 mm; at equal frequency the dowel is 1.9–2.1× the steel diameter. Stylised: carriage mass and material constants are assumptions, one mode, no damping or bushing play.

Does an aluminium rod fit the printer where a wooden one cannot?

research/selfrep-alurod · 6 tests

Aluminium rods in the printer redesign: matching a steel rod's sag takes 10.4 mm aluminium (fits the assumed 12 mm holders) against 16.9 mm hardwood (does not), at 39.5% vs 37.8% mass closure (stylised).

Abstract

Follow-up to selfrep-rodbeam that adds aluminium bar, cut to length on the router, as a rod substitution in selfrep-redesign. To match the sag of the 8 mm steel rod (0.19 mm at the assumed 5 N) aluminium needs 10.4 mm, inside the assumed 12 mm holder limit, while hardwood needs 16.9 mm and does not fit. Mass closure of the all-substitutions redesign is 39.5% with aluminium at a 0.2 mm spec, 37.8% with wood and 28.7% with steel rods kept as vitamins; the shop imports about 170 g more stock than with wood. Stylised: moduli, load and limit are assumed, and the surface of cut aluminium bar is taken to be adequate for the bushings.

How stiff a rod does a frequency target need, in aluminium and in wood?

research/selfrep-alufreq · 6 tests

Sizing printer rods to a first-mode frequency target instead of a sag spec: at 0.3 kg aluminium reaches 40 Hz with 10.0 mm (fits the assumed 12 mm holders) where hardwood needs 16.0 mm (stylised).

Abstract

Follow-up to selfrep-alurod and selfrep-rodmodes: rods of the printer redesign are sized to a first-mode frequency target (Rayleigh estimate, assumed 0.3 kg carriage) instead of a sag spec. Aluminium reaches 40 Hz with 10.0 mm, inside the assumed 12 mm holder limit, where hardwood needs 16.0 mm; within 12 mm the highest reachable frequency is 56 Hz for aluminium and 23 Hz for hardwood. Closure by mass rises with the target only because thicker stock counts as makeable, while imported stock grows from 1946 g to 2596 g. Stylised: one mode, assumed carriage mass, moduli and holder limit.

How thick must a printer rod be to keep carriage ringing small at a given acceleration?

research/selfrep-alufring · 6 tests

Rod diameter from an acceleration and ringing budget: at 3 m/s² with abrupt steps steel needs 7.3 mm, aluminium 9.6 mm, hardwood 15.5 mm; a 20 ms force ramp cuts aluminium at 5 m/s² from 10.9 to 8.9 mm (stylised).

Abstract

Follow-up to selfrep-alufreq: the rod diameter is derived from an acceleration and a 50 µm ringing tolerance (one-mode oscillator, assumed 0.3 kg carriage and damping ratio 0.01) instead of a bare frequency target. At 3 m/s² with abrupt steps steel needs 7.3 mm, aluminium 9.6 mm and hardwood 15.5 mm; ramping the force over 20 ms cuts aluminium at 5 m/s² from 10.9 to 8.9 mm. Stylised: one mode, assumed damping, nothing measured.

Which assumed input of the replicating-printer growth model does the doubling time depend on most?

research/selfrep-sensitivity · 4 tests

Which assumed input of the replicating-printer growth model moves its doubling time (Sobol indices, stylised, assumed ranges): budget and vitamin cost together carry ~90% of the variance when imports bind; when machine time binds, failure, print rate, budget and price are comparable.

Abstract

Follow-up to selfrep-growth: variance-based (Sobol) sensitivity of the fluid-model doubling time to print rate, assembly time, vitamin cost, import budget and build-failure probability over assumed ranges. Import-limited (4/h): budget and vitamin cost carry about 0.45 and 0.43 of the variance of ln T, failure 0.11, print rate and assembly time none. Time-limited (64/h): budget, vitamin cost, failure and print rate are comparable (0.25–0.28). The fluid model overstates budget sensitivity at 64/h against the discrete-event model (elasticity −0.45 vs −0.02). Stylised, with assumed ranges and inputs.

How does a resale value for the finished fleet move the switch from copies to goods?

research/selfrep-terminal · 6 tests

A resale value s per machine at the horizon shortens the goods phase from one e-folding time 1/k to 1/k − s/a; at s ≥ a/k the shop never switches. Grid optimum matches the closed form. All inputs assumed. Stylised.

Abstract

Follow-up to selfrep-reinvest. Giving each machine left at the horizon a value s shortens the goods phase from one e-folding time 1/k to 1/k − s/a, so the switch moves later; at s ≥ a/k (50 per machine with no failures, 29% of the assumed vitamin cost) the shop copies to the end. The grid optimum of the Euler simulation agrees with this closed form to within 1 h, and ignoring a terminal value of 12.5–50 per machine costs 3–26% of the optimum. Every input is assumed; cash is free and demand unlimited. Stylised.

Does a resale value for the finished fleet still end copying late when the goods market saturates?

research/selfrep-terminalmarket · 5 tests

A resale value s per machine with a saturating goods market (DP): at capacity c = 1000 machine-hours per hour the copy phase runs to the horizon once s is 12.5 (a quarter of a/k), and the policy that ignores s earns 14% of the optimum; the DP loses to bang-bang by under 1% where the fleet is large, so it is a lower bound there; stylised, preliminary.

Abstract

Follow-up to selfrep-terminal and selfrep-satmarket: a backward dynamic programme with terminal reward s per machine on the saturating-market fluid model (W = 50 h, failure 0, horizon 600 h, all inputs assumed). With a linear market the DP reproduces the closed-form switch of selfrep-terminal. As the market capacity c falls, a small s moves the optimum from an early switch to copying until the horizon (c = 1000: switch near 400 h at s = 0, none at s = 12.5), and a policy tuned for s = 0 earns only 14% of the optimum. Where the final fleet is large the DP is not reliable: a bang-bang switch beats its policy by up to 0.7%, so it is a lower bound there. Stylised and preliminary; the resale value is assumed and does not itself saturate.

Is the dynamic-programming table for the replicating shop with a resale value converged, and can its policy be trusted?

research/selfrep-dpgrid · 4 tests

Grid-convergence check of the terminal-value DP: the policy's value is stable to about 0.15% from 800 to 1,600 grid points while the table value rises from 8–13% (400 points) to 2–3% (1,600) below it; a stylised fluid model, preliminary.

Abstract

Follow-up to selfrep-terminalmarket, which found its DP table up to about 10% below the value of its own policy. This project refines the log-spaced fleet grid from 100 to 1,600 points and tries a second interpolation rule (linear in fleet size instead of in log fleet size), on the same fluid model (W = 50 h, failure 0, horizon 600 h, all inputs assumed). The simulated value of the DP policy changes by only about 0.15% between 800 and 1,600 points and stays within 0.2% of the best bang-bang switch, while the table value approaches it from below roughly in proportion to 1/(grid points): about 8–13% low at 400 points and 2–3% low at 1,600. The table is therefore a slowly converging lower bound, not a certificate; a first-order extrapolation puts it within about 0.8% of the bang-bang value in the three cases tried, but that rests on two grids. The cause of the bias is not diagnosed. Stylised fluid model, preliminary.

How much does a smooth copy-then-sell policy beat a single switch for the replicating shop, certified without interpolation?

research/selfrep-exactdp · 5 tests

An interpolation-free DP (the table equals its own policy's value to 1e-14): with no resale value and a saturating market a three-phase policy beats the best single switch by 4.7% (c = 1e4) to 7.1% (c = 1e3), while a resale value of 50 makes one switch optimal; a stylised fluid model, preliminary.

Abstract

Follow-up to selfrep-dpgrid, whose DP table sat 2–13% below the value of its own policy. This project chooses a control set whose steps land exactly on a geometric fleet grid, so no interpolation is needed and the table equals the policy value to 1e-14. On the same fluid model (W = 50 h, failure 0, horizon 600 h, all inputs assumed) a single copy-then-goods switch is optimal when machines keep a resale value of 50 each. With no resale value and a saturating goods market, a three-phase policy (full copying, an intermediate share, then goods) beats the best switch by 4.7% (capacity 1e4) and 7.1% (capacity 1e3); with a resale value of 12.5 and capacity 1e4 the gain is 6.5%, and only appears once the control set is fine enough. Stylised, with a fixed Euler step and no cash constraint; preliminary.

How does a falling resale price for the finished fleet change when the shop stops copying?

research/selfrep-resalecurve · 6 tests

A resale price for the finished fleet that falls with market depth m (stylised): with an unsaturated goods market the switch moves from 574 h (linear) to 549 h (m = 1e3) and a single switch matches the DP; with a saturating goods market the DP beats the best switch by up to 14%.

Abstract

Follow-up to selfrep-terminalmarket: the fleet is sold at the horizon for sm(1 − e−N/m), so the first machine fetches s and the price falls with market depth m (W = 50 h, failure 0, horizon 600 h, all inputs assumed). With an unsaturated goods market a shallower resale market moves the optimal switch from 574 h (linear) to 549 h (m = 103), and a single switch matches the DP. With a saturating goods market (c = 104) the DP policy beats the best single switch by up to 14%. The DP table value is not a certificate (it overstates at 400 grid points); simulated policy values are reported. Stylised and preliminary; both market curves are assumed, not fitted.

How much do the RepRap closure numbers depend on which parts a shop is judged able to make?

research/selfrep-judgement · 5 tests

How much the RepRap closure numbers depend on which parts a shop is judged able to make (stylised, assumed inputs): buying all optimistic lines cuts mass closure from 22% to 17%; making the motors in-house would add 22 points.

Abstract

Flips the make-or-buy judgements behind selfrep-closure. Buying all five optimistic lines (washers, GT2 pulley, MDF bed, brass bushing) cuts the largest shop to 17% mass and 11% cost closure, the printer-alone level, and no single line moves mass closure by more than 2.4 points. Granting a missing capability matters far more: making the NEMA17 motors in-house would add 22 points of mass closure, the 370 mm threaded rods 10. Monte Carlo (judged lines kept with probability 0.5, arguable vitamins granted with 0.1; arbitrary): mass closure 18–35% (5–95%). Stylised; masses and costs are assumed placeholders.

Does sharing part jobs across printers make a replicating printer shop double faster than one copy per printer?

research/selfrep-partpool · 11 tests

Does sharing part jobs across printers beat one copy per printer (stylised, assumed inputs): a pool serving the oldest copy first doubles in 43.2 h against 51.1 h with no import limit, about half the gap to the fluid 34.7 h; with imports binding all policies agree.

Abstract

Tests the explanation given in selfrep-growth for the gap between its fluid (34.7 h) and discrete-event (about 53 h) doubling times. A part-level simulation of the Prusa Mendel's 44 printed parts plus assembly compares one copy per printer with a shared pool of part jobs. With no import limit the pool that always serves the oldest copy doubles in 43.2 h against 51.1 h (15% faster), closing about half of the gap; a pool that advances all copies together equals one-copy-per-printer, and under an import budget all three agree. Stylised: every input is assumed, parts are uniform, no plate packing or failed prints.

How many parts should a replicating printer print per plate to double its shop fastest?

research/selfrep-platepack · 8 tests

How many parts per print plate double a replicating printer shop fastest (stylised, assumed inputs): with no changeover one part per plate wins (43.2 h doubling), with 0.25 h per plate four parts (46.4 h), with 0.5 to 1 h eleven parts; pooled fleets stay 7.6 to 15.5% ahead of one copy per printer.

Abstract

Groups the Prusa Mendel's 44 printed parts k to a plate in the selfrep-partpool simulator, with an assumed per-plate changeover of 0 to 1 h. With no changeover one part per plate is best (43.2 h effective doubling for a pooled fleet); at 0.25 h the best plate holds 4 parts (46.4 h), at 0.5 h and 1 h it holds 11 (47.8 h and 49.6 h). Pooling keeps an edge over one copy per printer (7.6–15.5%), and large plates cost it the pooling gain: at one plate per copy both policies coincide. Stylised: every input, including the changeover, is assumed, the BOM has no real part masses and plates are full and identical.

Other research topics

Proper scoring & elicitation28Effort & peer prediction9Verification games & slashing19Detection & tolerances14Markets as routers13Prediction-market design9Paying contributors8Decentralised training systems23Digital twins & sim-to-real164LLM chip design loops40Robot manufacturing loops53Ambient AI assistant46Self-replicating manufacturing34Simulation-first design64Engineered clothing45Task-specific AI accelerators40Algorithmic chip-design loops42Open-source purpose-built robots44The software-engineering loop43Adversarial human imitation41Open-source residential construction41Autonomous multi-angle capture34Sensing, imaging and 3D31Energy supply and dense energy storage39Robot societies among people31Agentic co-design of low-cost robots27Laundry-hanging robots25Machine learning on qualitative data23Robots on the building site27Civilizations & group psychology1History & human sciences1

Produced with AI assistance (Claude). Results are from the code in this repository and are simulated or stylised unless the abstract says otherwise; nothing here implies affiliation with or endorsement by any lab, researcher or company cited. MIT licensed.