Here is my answer using pdetoode
With[u = u[t, x],
eq@1 =
D[u, t, t] - 2 P D[u, x, x] + ( D[u, x, x, x, x]) +
4 F D[u, x, x] cos[x] + \[Alpha] D[u, x,
x] *(Integrate[D[u, x]^2, {x, 0, Pi}]) ;
ic@1 = u[0, x] == 0;
bc@1 = {u[t, 0] = u[t, Pi] == 0 , D[u, x, x] == 0 /. x -> 0,
D[u, x] == 0 /. x -> Pi }];
P = 1; F = 4; \[Alpha] = 3;
points = 25; difforder = 4; domain = {0, Pi};
{nodes, weights} =
Most[NIntegrate`GaussRuleData[points, MachinePrecision]];
midgrid = Rescale[nodes, {0, 1}, domain];
intrule =
HoldPattern@
Integrate[__] -> -Subtract @@ domain weights .
Map[u[#][t] &, midgrid];
grid = Flatten[{domain[[1]], midgrid, domain[[-1]]}];
ptoofunc = pdetoode[u[t, x], t, grid, difforder, True];
ode@1 = ptoofunc@eq@1 /. intrule ;;
odeic@1 = ptoofunc@ic@1;
odebc@1 = ptoofunc@bc@1
tend = 2;
usol = NDSolveValue[{ode /@ 1, odeic /@ 1,
odebc /@ 1}, {u /@ grid}, {t, 0, tend}];
Plot3D[usol[t, x], {t, 0, tend}, {x, 0, Pi}] & @@ domain
and there is a response
Part::partw: Part 1 of {} does not exist.
Symbol::argx: Symbol called with 0 arguments; 1 argument is expected.
NDSolveValue::deqn: Equation or list of equations expected instead of 1 in the first argument {1,1,1}.
NDSolveValue::dsvar: 0.00014299999999999998` cannot be used as a variable.